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凭据也能成功,说明使用全局的