本文旨在介绍如何将Jenkins和Gitlab进行集成。 Jenkins使用Generic Webhook Trigger Plugin来和Gitlab进行集成。
Jenkins Job配置
需要配置两个地方:
-
Job > 配置 > 构建触发器 > 触发远程构建 (例如,使用脚本) > 填写token
Job > 配置 > 构建触发器 > Generic Webhook Trigger > 如果你需要一些自定义参数的话,请参考Generic Webhook Trigger Plugin官方示例
-
配置触发分支 Generic Webhook Trigger > Post content parameters > 增加
- 我们需要配置三个参数
- ref:分支名
- repository.url:git仓库的ssh地址
- user_name:触发构建的用户名
- Optional filter配置:只有Text中的参数与正则表达式匹配时才会触发构建,我们这里使用了$repository.url_$ref,即 仓库地址_分支名
Gitlab配置
- 配置gitlab webhooks:Project > Settings > Integrations > Web Hooks
- web hooks 格式如下:
- http://jenkins_username:API Token@172.16.131.4:8080/jenkins/generic-webhook-trigger/invoke?token=test
- 参数说明:
- jenkins_username :登录jenkins的用户名,该用户需要拥有执行构建的权限
- API Token:登录jenkins后,点击右上角自己的用户名 > 设置 > API Token
- token:jenkins job中配置的 触发远程构建 > 身份验证令牌 的值