GitLab CI/CD 配置

概念

持续集成的相关概念,可以看这篇文章 持续集成是什么? - 阮一峰的网络日志

操作示例

创建测试项目 sample-web,然后打开项目的 Runners 配置



找到这个地方,后边要用

然后搭建 gitlab-runner,CI/CD 需要通过它实现

# 创建 gitlab-runner 目录
mkdir -p /usr/local/gitlab-runner && cd /usr/local/gitlab-runner # 映射目录
mkdir -p /usr/local/gitlab-runner/config # 启动
docker run -d --name gitlab-runner --restart always \
-v /usr/local/gitlab-runner/config:/etc/gitlab-runner \
-v /var/run/docker.sock:/var/run/docker.sock \
gitlab/gitlab-runner:v12.10.0

注册 runner

docker exec -it gitlab-runner gitlab-ci-multi-runner register

根据提示逐步输入信息

Please enter the gitlab-ci coordinator URL (e.g. https://gitlab.com/):
http://192.168.10.227/ # 这是上边 GitLab Runners 里的地址
Please enter the gitlab-ci token for this runner:
be1FkhGu1nN3dsoa5Wnv # 这是上边 GitLab Runners 里的Token
Please enter the gitlab-ci description for this runner:
[32e99182c32c]: helloworld # 描述,自由发挥
Please enter the gitlab-ci tags for this runner (comma separated):
java8 # tags,相当于这个环境的名字,后边用的到
Registering runner... succeeded runner=be1FkhGu
Please enter the executor: docker, docker-ssh, ssh, docker+machine, docker-ssh+machine, custom, parallels, shell, virtualbox, kubernetes:
docker # 执行方式,我用的 docker
Please enter the default Docker image (e.g. ruby:2.6):
maven:3-jdk-8 # docker 镜像,这是个 java 项目,我用的 maven:3-jdk-8,根据自己需要填写
Runner registered successfully. Feel free to start it, but if it's running already the config should be automatically reloaded!

提示成功,可以在 GitLab Runners 里看到我们刚刚注册的 runner

在项目中添加 .gitlab-ci.yml 文件

文件描述了有哪些步骤,每步的名称,执行了什么命令,使用哪个分支,使用哪个 runner 等信息

stages:
- build
- test
- deploy job_build:
stage: build
script:
- mvn clean install -s settings.xml
only:
- master
tags:
- java8 job_test:
stage: test
script:
- mvn test -s settings.xml
tags:
- java8 job_deploy:
stage: deploy
script:
- echo "deploy over..."
tags:
- java8

提交代码,可以看到 CI/CD 的执行情况

最新文章

  1. UI控件(UIToolbar)
  2. hadoop报错:WARN mapred.JobClient: Error reading task outputNo route to host
  3. RDIFramework.NET开发实例━表约束条件权限的使用-Web
  4. UIView.frame的骗局
  5. Fiddler-001-抓包工具初识
  6. centos7 最小化安装 无 ifconfig,netstat 的安装
  7. OWIN初探(转)
  8. 为什么webview.loadUrl("javascript:function() ")不执行?
  9. Java工程(3)——但从谈论用户的角度UI图案
  10. 微信企业号接收消息(使用SpringMVC)
  11. nginx反向代理cas-server之2:生成证书,centOS下使用openssl生成CA证书(根证书、server证书、client证书)
  12. Linux下date使用
  13. 逆FizzBuzz问题求最短序列
  14. GGTalk ——C#开源即时通讯系统
  15. SITECORE体验编辑器 - 多站点实施站点解析
  16. SpringMybatis 整合JavaWeb
  17. android中画图类的介绍Path
  18. Mysql中Left Join 与Right Join 与 Inner Join 与 Full Join的区别
  19. mac 安装phpunit
  20. merge源表数据移植到目标表新表数据中

热门文章

  1. 数据可视化之分析篇(八)Power BI数据分析应用:结构百分比分析法
  2. 邂逅Vue.js
  3. C#数据结构与算法系列(二十二):快速排序算法(QuickSort)
  4. python常见报错信息!错误和异常!附带处理方法
  5. Captura - 免费好用还开源的录屏软件
  6. css初始化表(normalize.css)
  7. ubuntu DEBIAN_FRONTEND环境变量用法
  8. 《闲扯Redis六》Redis五种数据类型之Hash型
  9. 【管理员已阻止你运行此应用】windows defender图标打叉,无法打开mmc.exe解决办法
  10. vue学习(十五) 过滤器简单实用