Gitlab CI Multi Runner搭建CI持续集成环境

2024-05-24 17:18

本文主要是介绍Gitlab CI Multi Runner搭建CI持续集成环境,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

GitLab不仅仅只是代码托管的工具,它还集成了CI的功能,通过Gitlab CI Multi Runner工具可以更方便的搭建持续集成环境。
在安装好GitLab之后还需要再安装一个叫gitlab-ci-multi-runner的工具。
PS: 当然了肯定没有Jenkins那么强大,毕竟可用插件太多了。

安装gitlab-ci-multi-runner


官方多种安装方式
由于众所周知(墙)的原因,还是推荐Gitlab CI Multi Runner 清华镜像

gitlab-runner命令介绍

服务状态

安装好runner之后就可以使用gitlab-runner命令了,可通过# gitlab-runner help查看命令帮助,
更多命令详情可以查阅官方文档
好了,让我们来先查看一下服务运行的状态。
# gitlab-runner status
输出以下内容,说明服务运行正常了。
gitlab-runner: Service is running!

还有也可以通过以下命令查看,不过我更喜欢短一点的命令,后面都只使用gitlab-runner了。
# gitlab-ci-multi-runner status

注册一个runner

注册一个runner可以使用交互式和非交互式两种方式,默认使用交互式的。
输入以下命令就可以开始交互式注册了,在这之前请确保Gitlab上面已经新建有项目了。
# gitlab-runner register

Running in system-mode.Please enter the gitlab-ci coordinator URL (e.g. https://gitlab.com/ci):
http://192.168.1.2/ci   // 在这里输入gitlab安装的服务器ip/ci 即可
Please enter the gitlab-ci token for this runner:
eaYyokc57xxZbzAsoshT    // 这里的token可通过Gitlab上的项目Runners选项查看,在下面贴一张截图
Please enter the gitlab-ci description for this runner:
[E5]: spring-demo       // 这里填写一个描述信息,不太重要,看着填吧
Please enter the gitlab-ci tags for this runner (comma separated):
demo                    // 在这里填写tag信息,多个tag可通过逗号,分割。
Registering runner... succeeded                     runner=eaYyokc5
Please enter the executor: docker, docker-ssh, parallels, shell, ssh, virtualbox, docker+machine, docker-ssh+machine:
shell                   // 在这里需要输入runner的执行方式,因为我的Gitlab和runner是安装在同一台服务器上的,直接输入shell
Runner registered successfully. Feel free to start it, but if it's running already the config should be automatically reloaded!
// 出现这样信息表示服务端的配置就已经成功结束了,如果需要使用到自动构建,还需要再添加一个配置文件,下面说说这个。

runner

查看runner配置信息

可通过以下命令进行查看
# gitlab-runner list

Listing configured runners                          ConfigFile=/etc/gitlab-runner/config.toml
spring-demo                                         Executor=shell Token=387ed6c05fef248d2183f9f45b9cda URL=http://192.168.1.2/ci

也可以直接打开配置文件进行查看
# vim /etc/gitlab-runner/config.toml

concurrent = 1
check_interval = 0[[runners]]name = "spring-demo"url = "http://192.168.1.2/ci"token = "387ed6c05fef248d2183f9f45b9cda"executor = "shell"[runners.ssh][runners.docker]tls_verify = falseimage = ""privileged = falsedisable_cache = false[runners.parallels]base_name = ""disable_snapshots = false[runners.virtualbox]base_name = ""disable_snapshots = false[runners.cache]

删除注册信息

如果发现register信息填写错误,或者不再使用了。可通过以下命令进行删除。
- 首先查看已注册过的信息
# gitlab-runner list

Listing configured runners                          ConfigFile=/etc/gitlab-runner/config.toml
spring-demo                                         Executor=shell Token=387ed6c05fef248d2183f9f45b9cda URL=http://192.168.1.2/ci
  • 开始删除
    # gitlab-runner unregister --url http://192.168.1.2/ci --token 387ed6c05fef248d2183f9f45b9cda
    其中–url参数可查看上面的URL=后面的值填写,–token参数就是上面的Token=后面的值,复制粘贴即可。
Running in system-mode.Deleting runner... succeeded                        runner=387ed6c0

出现上面信息表示删除成功了。
注意:这个操作是不可逆的,为了防止出错可以先备份一下/etc/gitlab-runner/config.toml配置文件

项目自动化构建配置

配置好了runner,想要开始自动构建还需要在项目根目录添加一个.gitlab-ci.yaml文件。
关于.gitlab-ci.yaml文件的配置说明可参考官方文档。
下面贴一下我做测试Demo时使用的,不要笑,很简单只做演示用的。。
.gitlab-ci.yaml

stages:- build- deploy
job1:stage: buildscript: "mvn package"
job2:stage: deployscript: "mvn tomcat:redeploy -Dmaven.test.skip=truey -e -X"

总结

到这里关于CI持续集成的差不多就说那么多了,当然了还有很多都没说到,这就要看实际的项目需求进行相应的配置了。
总的来说呢,gitlab-runner虽然跟Gitlab集成的比较好,但是功能方面还是有点不如老牌的Jenkins。
不过它对Docker倒是支持的蛮好的,说起来我接触Docker也是挺早的了,它2013年开源,我2014年就开始接触了,并且2015年也在公司服务器上实际部署了,后面有时间再写点关于Docker的吧。不过跳槽后就用的少了,但愿别都忘了好:)。

这篇关于Gitlab CI Multi Runner搭建CI持续集成环境的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/999034

相关文章

阿里开源语音识别SenseVoiceWindows环境部署

SenseVoice介绍 SenseVoice 专注于高精度多语言语音识别、情感辨识和音频事件检测多语言识别: 采用超过 40 万小时数据训练,支持超过 50 种语言,识别效果上优于 Whisper 模型。富文本识别:具备优秀的情感识别,能够在测试数据上达到和超过目前最佳情感识别模型的效果。支持声音事件检测能力,支持音乐、掌声、笑声、哭声、咳嗽、喷嚏等多种常见人机交互事件进行检测。高效推

搭建Kafka+zookeeper集群调度

前言 硬件环境 172.18.0.5        kafkazk1        Kafka+zookeeper                Kafka Broker集群 172.18.0.6        kafkazk2        Kafka+zookeeper                Kafka Broker集群 172.18.0.7        kafkazk3

安装nodejs环境

本文介绍了如何通过nvm(NodeVersionManager)安装和管理Node.js及npm的不同版本,包括下载安装脚本、检查版本并安装特定版本的方法。 1、安装nvm curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash 2、查看nvm版本 nvm --version 3、安装

【IPV6从入门到起飞】5-1 IPV6+Home Assistant(搭建基本环境)

【IPV6从入门到起飞】5-1 IPV6+Home Assistant #搭建基本环境 1 背景2 docker下载 hass3 创建容器4 浏览器访问 hass5 手机APP远程访问hass6 更多玩法 1 背景 既然电脑可以IPV6入站,手机流量可以访问IPV6网络的服务,为什么不在电脑搭建Home Assistant(hass),来控制你的设备呢?@智能家居 @万物互联

高并发环境中保持幂等性

在高并发环境中保持幂等性是一项重要的挑战。幂等性指的是无论操作执行多少次,其效果都是相同的。确保操作的幂等性可以避免重复执行带来的副作用。以下是一些保持幂等性的常用方法: 唯一标识符: 请求唯一标识:在每次请求中引入唯一标识符(如 UUID 或者生成的唯一 ID),在处理请求时,系统可以检查这个标识符是否已经处理过,如果是,则忽略重复请求。幂等键(Idempotency Key):客户端在每次

【区块链 + 人才服务】区块链集成开发平台 | FISCO BCOS应用案例

随着区块链技术的快速发展,越来越多的企业开始将其应用于实际业务中。然而,区块链技术的专业性使得其集成开发成为一项挑战。针对此,广东中创智慧科技有限公司基于国产开源联盟链 FISCO BCOS 推出了区块链集成开发平台。该平台基于区块链技术,提供一套全面的区块链开发工具和开发环境,支持开发者快速开发和部署区块链应用。此外,该平台还可以提供一套全面的区块链开发教程和文档,帮助开发者快速上手区块链开发。

pico2 开发环境搭建-基于ubuntu

pico2 开发环境搭建-基于ubuntu 安装编译工具链下载sdk 和example编译example 安装编译工具链 sudo apt install cmake gcc-arm-none-eabi libnewlib-arm-none-eabi libstdc++-arm-none-eabi-newlib 注意cmake的版本,需要在3.17 以上 下载sdk 和ex

2014 Multi-University Training Contest 8小记

1002 计算几何 最大的速度才可能拥有无限的面积。 最大的速度的点 求凸包, 凸包上的点( 注意不是端点 ) 才拥有无限的面积 注意 :  凸包上如果有重点则不满足。 另外最大的速度为0也不行的。 int cmp(double x){if(fabs(x) < 1e-8) return 0 ;if(x > 0) return 1 ;return -1 ;}struct poin

2014 Multi-University Training Contest 7小记

1003   数学 , 先暴力再解方程。 在b进制下是个2 , 3 位数的 大概是10000进制以上 。这部分解方程 2-10000 直接暴力 typedef long long LL ;LL n ;int ok(int b){LL m = n ;int c ;while(m){c = m % b ;if(c == 3 || c == 4 || c == 5 ||

2014 Multi-University Training Contest 6小记

1003  贪心 对于111...10....000 这样的序列,  a 为1的个数,b为0的个数,易得当 x= a / (a + b) 时 f最小。 讲串分成若干段  1..10..0   ,  1..10..0 ,  要满足x非递减 。  对于 xi > xi+1  这样的合并 即可。 const int maxn = 100008 ;struct Node{int