一、服务器环境: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 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:alpinestages: - 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 -- 从入门到实际