Jenkins - 使用WebHook触发构建
·
Git仓库的WebHook本质上是在特定事件发生时触发一个Web请求。
所以本文将描述如何通过Web URL触发 Jenkins构建流程。
前置
- 本文假设你已安装Jenkins并有一个正常配置的 Job 以及远程仓库
0x01 Jenkins User Token设置
通过Web请求访问Jenkins服务需要携带连接凭据,在Jenkins Web控制台中点击 用户头像 > Security > 为User添加Token
创建后拷贝保存
0x02 仓库设置
各大代码托管平台的WebHook设置基本相同,这里以Gitea为例:仓库 > 设置 > Web钩子 > 添加Web钩子
主要包含以下几个设置项:
- 目标URL:用于触发Jenkins 构建操作的Web请求URL
- HTTP方法:请求发送方式
GET或POST(Jenkins 要求POST) - 分支过滤:事件发生再哪些分支上时触发此钩子(你要给哪个分支设置Web钩子)
- 触发条件:发送什么事件时触发
- 授权标头 | 密钥 :暂时用不上,不赘述。
以上各个部分用法说明:
- 目标URL:
Jenkins 推荐格式为:http://<user_neme>:<user_token>@<server_ip>:<server_port>/job/<job_name>/build
例如假设Jenkins 部署在 192.168.10.2:8080 上且存在一个TestBuild构建任务,在步骤0x01中我们为用户Admin创建了Token :ABC123
那么此处的URL就是
http://Admin:ABC123@192.168.10.2:8080/job/TestBuild/build
- HTTP方法:Jenkins 要求必须为POST方法,在浏览器中测试URL时会提示你修改为POST请求,点击
Proceed可以自动转换。 - POST内容类型:
application/x-www-form-urlencoded,浏览器会将该类型中表单数据转换为 URL 可传输的格式。 - 分支过滤 :按需填写
- 触发条件 :按需填写
0x03 测试
- 代码平台测试
代码托管平台会在WebHook创建页面提供测试按钮,点一下看看能否触发构建。 - 浏览器
将URL直接粘贴到浏览器也可测试,在警告页面点击Proceed将GET转换为POST即可
更多推荐

所有评论(0)