index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<h1>Hello world</h1>
</body>
</html>
部署過程可以使用指令(command line) 來完成
也可以整理成 shell script
的巨集來處理
也可以使用 python ....等等後端程式語言來實現
但是因為主要使用 Nodejs
一開始是使用 Grunt
但是後來就都改用 Gulp
這些都只是實現的一個手段
可以依據自己熟悉的程式語言做調整
這次主要的事情要把檔案複製到遠端的 Server 都某個資料夾裡面
可以利用 gulp 的套件來完成(scp2, rsync, ftp....etc)
const gulp = require('gulp');
const scp = require('gulp-scp2');
gulp.task('default', function() {
return gulp.src('./index.html')
.pipe(scp({
host: 'aaa.bbb.ccc.ddd',
username: 'username',
password: 'password',
dest: '/vaw/www/html/example'
}))
.on('error', function(err) {
console.log(err);
});
});
安裝一下相關套件
$ yarn add -D gulp gulp-scp2
$ gulp default
這樣就可以把檔案複製到遠端
在調整一下 .gitlab-ci.yml
stages:
- copyToGoal
Prepare:Env:
stage: copyToGoal
script:
- yarn install
- gulp default
但是這樣會把 server username
跟 password
記錄在 repo 中
通常不會把這類敏感資料加到 git 內
所以就需要一些部署的環境變數
下個章節再來討論一下