Jenkins构建github webhook
如何构建Jenkins github webhook, 这个一直在网上没有一个非常系统的解决方案, 官方给的文档也相对比较晦涩
刚好最近闲下来想在把之前的CICD项目搞的更加完备, 这里就结合这块顺带把Jenkins github webhook给大家整理一个文档, 帮助有需求的小伙伴针对如何使用Jenkins插件仓库下的github plugin与我们常用的github代码进行webhook集成.
DEMO: https://github.com/showerlee/gradle-demo-with-docker
什么是Github Webhook?
顾名思义, 也就是Github项目下Webhook允许使用者触发一个CI系统(例如Jenkins)的URL,这个URL通常由github plugin提供,这个Webhook会侦听特定事件,如推送master push, PR或merge请求。如果项目推送了新代码, Github会向这个Webhook URL发送包含此次commit的相关POST请求, 并通过Jenkins相关配置触发相应的jenkins job, 实现我们每次的代码提交都能够自动触发一次Jenkins代码构建, 真正打通了我们代码仓库与CI系统的壁垒, 使我们开发人员能够快速进行CICD自动化集成构建部署, 并且在后期的审计过程中, 能够通过每次commit追溯每一次构建内容. 实现commit与构建一一对应.
这里开始我们的具体配置:
1.在Github下添加Jenkins github plungin webhook URL
访问你的代码仓库如下路径
https://github.com/<org>/<repo>/settings/hooks/
点击右上角的Add webhook
按照如图添加我们的Jenkins URL地址, 假设你的Jenkins主页是jenkins.example.com, 这里URL即为如下地址(如有非80端口, 这里也要添加)
这里需要保证jenkins.example.com为可以访问的公网域名且对应的IP地址可公网解析.
本地虚拟机用户不适合此次webhook的教程, 因为github需要与你的jenkins主机通信, 这里本地虚拟机通常都在一个内网, 无法实现公网互通
配置好点击Add webhook保存
2.在Github下创建Personal access token
访问你的代码仓库如下路径
https://github.com/settings/tokens
按照如图配置你的token, 创建好后保存token内容
3. 安装配置Jenkins github plugin
访问http://jenkins.example.com/pluginManager/available 找到github plugin, 并进行安装.
进入http://jenkins.example.com/configure
找到github plugin区域, 按照如图进行配置
这里需要在Credentials下添加之前创建的Personal access token作为我们Github项目向Jenkins webhook URL发送POST请求的凭证.
点击Test connection确认连接正常
点击左下角Save保存Github配置
4.激活Jenkins job使用该插件触发webhook
这里我进入我的一个jenkins pipeline item, 按照如图激活github webhook.
这样子我们就成功的配置了Github到Jenkins的webhook.
这里我提供一个demo项目, 大家可以参考这个项目进行此次的配置.
https://github.com/showerlee/gradle-demo-with-docker
本文链接:http://www.showerlee.com/archives/2893
继续浏览:jenkins webhook
还没有评论,快来抢沙发!