2

一、服务器环境:Ubuntu.18.0.1

二、安装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 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 在前端工作流上的实践分享(二)

Docker -- 从入门到实践


Alen
33 声望4 粉丝