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

相关文章

MySQL双主搭建+keepalived高可用的实现

《MySQL双主搭建+keepalived高可用的实现》本文主要介绍了MySQL双主搭建+keepalived高可用的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,... 目录一、测试环境准备二、主从搭建1.创建复制用户2.创建复制关系3.开启复制,确认复制是否成功4.同

springboot简单集成Security配置的教程

《springboot简单集成Security配置的教程》:本文主要介绍springboot简单集成Security配置的教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,... 目录集成Security安全框架引入依赖编写配置类WebSecurityConfig(自定义资源权限规则

springboot集成Deepseek4j的项目实践

《springboot集成Deepseek4j的项目实践》本文主要介绍了springboot集成Deepseek4j的项目实践,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价... 目录Deepseek4j快速开始Maven 依js赖基础配置基础使用示例1. 流式返回示例2. 进阶

Spring Boot 集成 Quartz 使用Cron 表达式实现定时任务

《SpringBoot集成Quartz使用Cron表达式实现定时任务》本文介绍了如何在SpringBoot项目中集成Quartz并使用Cron表达式进行任务调度,通过添加Quartz依赖、创... 目录前言1. 添加 Quartz 依赖2. 创建 Quartz 任务3. 配置 Quartz 任务调度4. 启

Centos环境下Tomcat虚拟主机配置详细教程

《Centos环境下Tomcat虚拟主机配置详细教程》这篇文章主要讲的是在CentOS系统上,如何一步步配置Tomcat的虚拟主机,内容很简单,从目录准备到配置文件修改,再到重启和测试,手把手带你搞定... 目录1. 准备虚拟主机的目录和内容创建目录添加测试文件2. 修改 Tomcat 的 server.X

VSCode配置Anaconda Python环境的实现

《VSCode配置AnacondaPython环境的实现》VisualStudioCode中可以使用Anaconda环境进行Python开发,本文主要介绍了VSCode配置AnacondaPytho... 目录前言一、安装 Visual Studio Code 和 Anaconda二、创建或激活 conda

pytorch+torchvision+python版本对应及环境安装

《pytorch+torchvision+python版本对应及环境安装》本文主要介绍了pytorch+torchvision+python版本对应及环境安装,安装过程中需要注意Numpy版本的降级,... 目录一、版本对应二、安装命令(pip)1. 版本2. 安装全过程3. 命令相关解释参考文章一、版本对

使用DeepSeek搭建个人知识库(在笔记本电脑上)

《使用DeepSeek搭建个人知识库(在笔记本电脑上)》本文介绍了如何在笔记本电脑上使用DeepSeek和开源工具搭建个人知识库,通过安装DeepSeek和RAGFlow,并使用CherryStudi... 目录部署环境软件清单安装DeepSeek安装Cherry Studio安装RAGFlow设置知识库总

Linux搭建Mysql主从同步的教程

《Linux搭建Mysql主从同步的教程》:本文主要介绍Linux搭建Mysql主从同步的教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux搭建mysql主从同步1.启动mysql服务2.修改Mysql主库配置文件/etc/my.cnf3.重启主库my

国内环境搭建私有知识问答库踩坑记录(ollama+deepseek+ragflow)

《国内环境搭建私有知识问答库踩坑记录(ollama+deepseek+ragflow)》本文给大家利用deepseek模型搭建私有知识问答库的详细步骤和遇到的问题及解决办法,感兴趣的朋友一起看看吧... 目录1. 第1步大家在安装完ollama后,需要到系统环境变量中添加两个变量2. 第3步 “在cmd中