gitlab+docker實現前端項目自動部署

1、服務器環境:Ubuntu.18.0.1

2、安裝Docker以及配置gitlab-runner:

  • 1.卸載舊版本Docker
$ sudo apt-get remove docker \
               docker-engine \
               docker.io
  • 2.更新 apt 軟件包緩存,並安裝 docker-ce
$ sudo apt-get update
$ sudo apt-get update
$ sudo apt-get install docker-ce
  • 3.Docker鏡像安裝 gitlab-runner
$ sudo docker pull gitlab/gitlab-runner:latest
  • 4 啓動 gitlan-runner container
$ sudo docker run -d --name gitlab-runner --restart always \
  -v /srv/gitlab-runner/config:/etc/gitlab-runner \
  -v /var/run/docker.sock:/var/run/docker.sock \
  gitlab/gitlab-runner:latest
  • 5.註冊 runner

前端

三.配置 .gitlab-runner.yml

image: node:alpine

stages:
  - build
  - deploy_development
  - deploy_production

// 境變量
// 配置在項目的 variables 中
// 在須要使用 variables 的地方經過 `process.env.***` 來獲取
// 注:需設置對應的分支爲保護分支,不然拿不到對應的值(Settings > Repository > Protected Branches)

variables:
  AccessKey_ID: $AccessKey_ID
  Access_Key_Secret: $Access_Key_Secret
  Oss_Path: $Oss_Path

// 設置緩存
cache:
  paths:
    - node_modules/
    - dist/

// 這裏對應上方 stages ,
build:
  stage: build
  script: # script 爲要執行的命令,能夠多條按順序執行
    - npm install
    - npm run build
  tags:
    - deploy_runner

// 部署測試環境
deploy_development:
  stage: deploy_development
  only: # only 定義觸發分支,即只有在dev分支提交是  才執行如下命令
    - dev
  script:
    - node upload_devlopment.js
  tags:
    - deploy_runner

// 部署生產環境
deploy_production:
  stage: deploy_production
  only:
    - master
  script:
    - node upload_production.js
  tags:
    - deploy_runner

參看文章:Docker 及 GitLab CI 在前端工做流上的實踐分享(二)node

Docker -- 從入門到實踐git

相關文章
相關標籤/搜索