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

相关文章

Java中Springboot集成Kafka实现消息发送和接收功能

《Java中Springboot集成Kafka实现消息发送和接收功能》Kafka是一个高吞吐量的分布式发布-订阅消息系统,主要用于处理大规模数据流,它由生产者、消费者、主题、分区和代理等组件构成,Ka... 目录一、Kafka 简介二、Kafka 功能三、POM依赖四、配置文件五、生产者六、消费者一、Kaf

Java中的Opencv简介与开发环境部署方法

《Java中的Opencv简介与开发环境部署方法》OpenCV是一个开源的计算机视觉和图像处理库,提供了丰富的图像处理算法和工具,它支持多种图像处理和计算机视觉算法,可以用于物体识别与跟踪、图像分割与... 目录1.Opencv简介Opencv的应用2.Java使用OpenCV进行图像操作opencv安装j

mysql-8.0.30压缩包版安装和配置MySQL环境过程

《mysql-8.0.30压缩包版安装和配置MySQL环境过程》该文章介绍了如何在Windows系统中下载、安装和配置MySQL数据库,包括下载地址、解压文件、创建和配置my.ini文件、设置环境变量... 目录压缩包安装配置下载配置环境变量下载和初始化总结压缩包安装配置下载下载地址:https://d

将Python应用部署到生产环境的小技巧分享

《将Python应用部署到生产环境的小技巧分享》文章主要讲述了在将Python应用程序部署到生产环境之前,需要进行的准备工作和最佳实践,包括心态调整、代码审查、测试覆盖率提升、配置文件优化、日志记录完... 目录部署前夜:从开发到生产的心理准备与检查清单环境搭建:打造稳固的应用运行平台自动化流水线:让部署像

gradle安装和环境配置全过程

《gradle安装和环境配置全过程》本文介绍了如何安装和配置Gradle环境,包括下载Gradle、配置环境变量、测试Gradle以及在IntelliJIDEA中配置Gradle... 目录gradle安装和环境配置1 下载GRADLE2 环境变量配置3 测试gradle4 设置gradle初始化文件5 i

SpringCloud集成AlloyDB的示例代码

《SpringCloud集成AlloyDB的示例代码》AlloyDB是GoogleCloud提供的一种高度可扩展、强性能的关系型数据库服务,它兼容PostgreSQL,并提供了更快的查询性能... 目录1.AlloyDBjavascript是什么?AlloyDB 的工作原理2.搭建测试环境3.代码工程1.

Mycat搭建分库分表方式

《Mycat搭建分库分表方式》文章介绍了如何使用分库分表架构来解决单表数据量过大带来的性能和存储容量限制的问题,通过在一对主从复制节点上配置数据源,并使用分片算法将数据分配到不同的数据库表中,可以有效... 目录分库分表解决的问题分库分表架构添加数据验证结果 总结分库分表解决的问题单表数据量过大带来的性能

Java汇编源码如何查看环境搭建

《Java汇编源码如何查看环境搭建》:本文主要介绍如何在IntelliJIDEA开发环境中搭建字节码和汇编环境,以便更好地进行代码调优和JVM学习,首先,介绍了如何配置IntelliJIDEA以方... 目录一、简介二、在IDEA开发环境中搭建汇编环境2.1 在IDEA中搭建字节码查看环境2.1.1 搭建步

SpringBoot使用注解集成Redis缓存的示例代码

《SpringBoot使用注解集成Redis缓存的示例代码》:本文主要介绍在SpringBoot中使用注解集成Redis缓存的步骤,包括添加依赖、创建相关配置类、需要缓存数据的类(Tes... 目录一、创建 Caching 配置类二、创建需要缓存数据的类三、测试方法Spring Boot 熟悉后,集成一个外

Docker集成CI/CD的项目实践

《Docker集成CI/CD的项目实践》本文主要介绍了Docker集成CI/CD的项目实践,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学... 目录一、引言1.1 什么是 CI/CD?1.2 docker 在 CI/CD 中的作用二、Docke