5.新增Koa專案的CI指令碼,提交到gitlab實現CI&CD

zhongzhong05發表於2018-10-15

CI&CD

修改.gitlab-ci.yml檔案,內容如下:

stages: 
  - build
  - deploy
before_script: 
  - pwd
  - ls
build: 
  script: 
    - yarn
    - tsc
    - "cp -r dist /data/sites/koa-server"
    - "cp -r package.json /data/sites/koa-server"
    - "cp -r node_modules /data/sites/koa-server"
  stage: build

deploy: 
  script: 
    - "[ -d /data/sites/koa-server ] && echo ok || mkdir -p /data/sites/koa-server" ## 用來判斷目錄是否存在,不存在則建立
    - "pm2 start /data/sites/koa-server/dist/index.js" ## 使用pm2啟動服務
  stage: deploy

複製程式碼

這個檔案比上篇文章中的感覺要複雜多了,我們來看下這裡面都有哪些東西。

首先一開始,定義了stages,這個用來定義你的CI執行的時候,有幾個stage,這裡我們定義了兩個stage,一個是build,一個是deploy。這個應該很好理解,先構建然後部署,對吧。期中build和deploy是stage的名稱,這個是自定義的。

接下來是before_script,在這裡定義的所有script,會在stages中的所有script執行之前執行。

接下來,我們定義了兩個job,注意,這裡build和deploy名稱不需要和上面的stage相同。

在job定義的時候,需要使用stage指定關聯的stage是哪個。

簡單來說就是,你先定義stage,然後定義job,然後在job指定stage,這樣在執行的時候,才知道每個stage需要執行哪些job。

然後看下執行的效果:

5.新增Koa專案的CI指令碼,提交到gitlab實現CI&CD

效果

寫好ci檔案之後,提交到gitlab伺服器。看下執行效果:

5.新增Koa專案的CI指令碼,提交到gitlab實現CI&CD

等這裡完成之後,開啟瀏覽器訪問: mygitlab.com:3000/users

結果:

5.新增Koa專案的CI指令碼,提交到gitlab實現CI&CD

相關文章