jenkins-jenkins和gitlab集成配置

1、基础知识

1.1、场景需求

在我们现有配置好的Gitlab和Jenkins环境中,目前的操作流程是,我们将代码推送到gitlab里面,然后在Jenkins里通过定制任务,执行构建子任务中的命令,实现项目的部署效果,这种方式的最大特点就是手工执行构建。
 
手工方式构建的方式,太繁琐了,虽然jenkins存在定时构建的功能,能实现按周期更新项目的效果,但是代码提交的频率和任务定时构建的频率是不好把控的,我们希望有一种功能,当我们提交到代码仓库后,然后自动触发jenkins构建任务,这是一个比较好的方式。
 
这种方式是建立在 Gitlab 和 jenkins 能够无缝联通的前提下。

1.2、操作思路

1、准备好 Gitlab 和 jenkins 环境
2、使用专用通信机制实现双方的认证
 - gitlab生成 api token
 - jenkins 定制 apitoken的认证凭证
 - 基于api凭证,联通gitlab
3、定制hook触发任务

1.3、插件安装

到插件管理界面,安装"GitLab Plugin、Gitlab Authentication、Gitlab API"

2、jenkins与gitlab集成配置

2.1、需求

虽然我们可以借助于之前的两种认证方式来实现gitlab的正常构建任务,但是对于gitlab环境来说,jenkins提供了一个专门的认证方式"Gitlab API Token",接下来我们就完成以下这种专用的认证机制。

2.2、gitlab生成 API认证token

2.2.1、创建token

登录Gitlab界面,点击右上角"图标",找到"Settings"选项,然后点击,效果如下

点击左侧边栏的"Access Tokens",依次输入名称-jenkins,过期时间-选定,作用范围-api,效果如下

 

2.2.2、查看创建好的token

 

2.3、jenkins使用gitlab API通信

2.3.1、创建凭据

2.3.2、查看创建结果

2.4、jenkins 集成 Gitlab

2.4.1、配置

点击jenkins的"Configure System",进入到jenkins的全局配置界面,找到"Gitlab",效果如下

2.4.2、操作流程

设定配置
connection name: jenkins -- 我们在gitlab生成API token时候,用到的用户名
Gitlab host URL:http://192.168.10.10 -- Gitlab的web界面登录地址
Credentials: 选择我们刚才创建的 Gitlab API token 账号即可
点击 Test connection 出现 success 说明账号联通功能成功

2.4.3、简单测试

改造 tomcat-web 任务,将默认的git认证取消掉

仅仅定义仓库的地址 git@192.168.10.10:web/tomcat_pro.git
无需指定Credential,点击高级后,输入Name为origin

2.4.4、其他的内容不用修改,依次点击 "apply" 和 “save”后,点击 参数化构建

可以看出来,没有配置git凭据也能成功,说明使用全局的

 

posted @ 2023-06-15 18:54  小粉优化大师  阅读(4605)  评论(0编辑  收藏  举报