iT邦幫忙

2021 iThome 鐵人賽

DAY 9
0
DevOps

和 gitlab 一起當個好朋友系列 第 9

Day09-靜態 HTML 的部署

  • 分享至 

  • xImage
  •  

部署靜態的 HTML

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>

Gulp

部署過程可以使用指令(command line) 來完成

也可以整理成 shell script 的巨集來處理

也可以使用 python ....等等後端程式語言來實現

但是因為主要使用 Nodejs

一開始是使用 Grunt

但是後來就都改用 Gulp

這些都只是實現的一個手段

可以依據自己熟悉的程式語言做調整

這次主要的事情要把檔案複製到遠端的 Server 都某個資料夾裡面

可以利用 gulp 的套件來完成(scp2, rsync, ftp....etc)

建立一個 gulpfile.js

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 usernamepassword 記錄在 repo 中

通常不會把這類敏感資料加到 git 內

所以就需要一些部署的環境變數

下個章節再來討論一下


上一篇
Day08-gitlab job 的工作流
下一篇
Day10-使用 create-react-app 部署第一個 React static Web
系列文
和 gitlab 一起當個好朋友15
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言