GitLab CI/CD 配置
2024-09-02 17:05:18
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 的执行情况
最新文章
- UI控件(UIToolbar)
- hadoop报错:WARN mapred.JobClient: Error reading task outputNo route to host
- RDIFramework.NET开发实例━表约束条件权限的使用-Web
- UIView.frame的骗局
- Fiddler-001-抓包工具初识
- centos7 最小化安装 无 ifconfig,netstat 的安装
- OWIN初探(转)
- 为什么webview.loadUrl(";javascript:function() ";)不执行?
- Java工程(3)——但从谈论用户的角度UI图案
- 微信企业号接收消息(使用SpringMVC)
- nginx反向代理cas-server之2:生成证书,centOS下使用openssl生成CA证书(根证书、server证书、client证书)
- Linux下date使用
- 逆FizzBuzz问题求最短序列
- GGTalk ——C#开源即时通讯系统
- SITECORE体验编辑器 - 多站点实施站点解析
- SpringMybatis 整合JavaWeb
- android中画图类的介绍Path
- Mysql中Left Join 与Right Join 与 Inner Join 与 Full Join的区别
- mac 安装phpunit
- merge源表数据移植到目标表新表数据中
热门文章
- 数据可视化之分析篇(八)Power BI数据分析应用:结构百分比分析法
- 邂逅Vue.js
- C#数据结构与算法系列(二十二):快速排序算法(QuickSort)
- python常见报错信息!错误和异常!附带处理方法
- Captura - 免费好用还开源的录屏软件
- css初始化表(normalize.css)
- ubuntu DEBIAN_FRONTEND环境变量用法
- 《闲扯Redis六》Redis五种数据类型之Hash型
- 【管理员已阻止你运行此应用】windows defender图标打叉,无法打开mmc.exe解决办法
- vue学习(十五) 过滤器简单实用