Jenkins自动化配置--CICD流水线

目录

一、Jenkins、gitlab安装

二、配置自动化

1、gitlab配置访问令牌

(1)用户访问令牌

(2)项目访问令牌

2、Jenkins配置凭证

[(1)gitlab api凭证](#(1)gitlab api凭证)

(2)项目凭证

3、Jenkins构建任务配置

(1)创建任务

(2)基础配置

(3)流水线配置

4、gitlab配置webhooks

三、测试

四、常见错误

1、Jenkins与gitlab连接失败


一、Jenkins、gitlab安装

Jenkins安装:Jenkins安装与配置-CSDN博客

gitlab安装:gitlab安装配置-CSDN博客

二、配置自动化

1、gitlab配置访问令牌
(1)用户访问令牌

在用户设置里面选择访问令牌,选择添加新令牌;

根据实际需要选择令牌到期时间和授予的权限;创建完成后,复制一下令牌内容到文档里,避免刷新之后就看不了了;

(2)项目访问令牌

点击所需要设置的项目,选择设置中的访问令牌,并选择添加新令牌;

根据实际需求选择权限和到期时间,最后点击创建新令牌即可;创建完成后,复制一下令牌内容到文档里,避免刷新之后就看不了了;

2、Jenkins配置凭证
(1)gitlab api凭证

配置该凭证是为了让Jenkins可以连接gitlab,此处用到的是在gitlab上创建的用户的访问令牌;

在manage Jenkins中的system中配置gitlab;

输入gitlab的url地址,点击右侧的添加去创建凭证;选择gitlab api token,再填入信息即可

(2)项目凭证

如果项目是私有的,还需要配置项目凭证;如果是公有的,请忽略这一步骤;

在manage Jenkins中选择credentials,点击system,选择Global credentials (unrestricted),选择add credential;

选择username with password,用户名输入使用的gitlab账号,密码为上面创建的gitlab的项目凭证;

3、Jenkins构建任务配置
(1)创建任务

点击新建item,输入项目名称,选择项目类型,此处使用的为pipeline 流水线;

(2)基础配置

进入项目配置页面,配置触发器triggers,勾选gitlab的那个选项,然后点击高级里面的secret部分的generate;

(3)流水线配置

根据自己项目的需求去编写流水线语句,可以点击下方的流水线语法生成示例,再修改也可以;

4、gitlab配置webhooks

再项目设置里面选择webhooks,选择添加新的webhooks;

url为Jenkins项目配置触发器时选项后面的url,secret为项目配置触发器时生成的secret token;再根据实际需求选择触发事件来源,最后点击添加webhook即可;

三、测试

上述配置完成后,整个自动化过程就配置完成了,我们可以在gitlab配置webhooks中点击测试,看以下Jenkins的构建过程;

四、常见错误

1、Jenkins与gitlab连接失败

需要确保两节点之间可以互相通信,如果两节点之间通信没问题,就查看一下gitlab的配置;

相关推荐
倔强的石头1061 分钟前
应用账号最小权限实践:读写账号、报表账号、运维账号分层
java·运维·开发语言
Android系统攻城狮1 小时前
Linux Gstreamer深度解析之gst_audio_encoder_get_frame_samples_min调用流程与实战(六十)
linux·运维·服务器·音视频·gstreamer音视频·音视频进阶·gstreamer音视频进阶
_upupup2 小时前
Linux中的自动化构建——make/Makefile
linux·运维·自动化
还卿一钵无情泪3 小时前
Docker 部署Unsloth 绕开环境配置难题
运维·人工智能·docker·ai·容器·nlp·干货
打工仔折腾 AI4 小时前
Docker镜像分层与卷挂载到底怎么工作:一次文件系统层面的实测分析
运维·人工智能·后端·python·docker·容器·性能优化
大猫会长4 小时前
调用codebuddy集成的supabase授权白屏解决方法
linux·运维·服务器
夜之眷属5 小时前
服务器被挖矿病毒入侵的排查与清理实录
运维·服务器
极客先躯5 小时前
高级java每日一道面试题-2026年01月20日-实战篇[Docker]-如何实现镜像的跨区域复制?
java·运维·docker·容器·架构图
韩振方5 小时前
为什么服务显示占了 8G,实际内存却没那么多?
运维
元Y亨H5 小时前
宿主机 SSH 免密已通,为何 Jenkins 流水线仍报 Permission denied?
jenkins