1.安装配置 Generic WebHookTrigger
目的: 为Jenkins作业添加触发器,便于其他系统调用
安装配置Generic WebHook,插件名称:Generic Webhook Trigger
1)安装插件,重启后,进入一个Pipeline项目设置,就可以选择这个触发器了
2)启用Generic Webhook 触发器
勾选Generic Webhook Trigger后,提供一个JENKINS_URL,用于写在gitlab的 webhook URL中
http://192.168.12.49:8080/generic-webhook-trigger/invoke
3) 输入Token: 给URL添加一个触发的认证
触发的URL即为:
http://192.168.12.49:8080/generic-webhook-trigger/invoke?token=jenkinslib
2.配置gitlab Webhook
gitlab中进入项目->设置->webhook: 输入JENKINS_URL和token
模拟事件触发,点击test按钮选择push事件,此时去看下Jenkins是否成功被触发:
出现此FAQ:Url is blocked: Requests to the local network are not allowed
解决方法:进入admin管理页面设置 > network
找到"Outbound requests"勾选允许请求webhooks和服务。(更改后,重启触发即可)
3.添加Request parameters
在Jenkins配置触发器中添加请求参数(Request parameters)
在Gitlab Webhook 中的 URL 中添加请求参数
4.添加Post content parameters
添加发布内容参数(Post content parameters)即可以变量的方式获取gitlab发布内容信息
示例: 获取分支名
在gitlab hook日志中可以看到字段ref包含分支名
1.在Jenkns配置构建触发器中,添加Post content parameters可以匹配发布信息的内容($表示匹配所有),以下$.ref表示匹配ref字段
2.过滤ref字段信息,获取分支名
script{
println(Branch)
branchName = Branch - "refs/heads/"
println(branchName)
}
3Jenkins.执行构建,日志输出
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)