作者:mobiledu2502882543 | 来源:互联网 | 2023-08-17 18:18
Jenkins与git工具完成webhook勾子配置
文章目录
- Jenkins与git工具完成webhook勾子配置
- 前言
- jenkins配合gitblit实现webhook配置
- jenkins配置
- 开放端口
- 测试
- jenkins配合github实现webhook配置
前言
目标是:希望在代码被push时,jenkins会自动构建。
webhook理解为勾子,是一个url,携带特定参数,一种web回调或者http的push API,是向APP或者其他应用提供实时信息的一种方式。Webhook在数据产生时立即发送数据,也就是你能实时收到数据。
比如:http://192.168.2.32:8087/jenkins/git/notifyCommit?url=http://192.168.1.244:443/r/~summer/dongliweb.git
是webhook访问了url.
参考什么是webhook
jenkins配合gitblit实现webhook配置
gitblit配置
网站配置
登陆gitblit网站,选择一个项目,点击右上角的编辑按钮->点击左侧的receive按钮->post-receive 脚本下面选择jenkins并移动到右侧。效果如下
后台脚本配置
gitblit的webhook并不是在网站上配置的,而是用grovvey脚本配置。
找到gitblit的安装目录。比如我的在E:\gitblit-1.7.1\data\groovy,打开jenkins.groovy,这个就是配置jenkins的脚本文件。
将def jenkinsUrl = gitblit.getString(‘groovy.jenkinsServer’, ‘http://yourserver/jenkins’)修改成def jenkinsUrl = gitblit.getString(‘groovy.jenkinsServer’, ‘http://192.168.2.32:8087/jenkins’)。http://192.168.2.32:8087是我的ip。
重启gitblit
快捷键ctrl+r->输入services.msc->找到gitblit服务并重启。
至此gitblit配置完成。
其实原理是在push代码后,gitblit发送http请求,url是http://192.168.2.32:8087/jenkins/git/notifyCommit?url=http://192.168.1.244:443/r/~summer/dongliweb.git
。jenkins在收到请求后构建使用http://192.168.1.244:443/r/~summer/dongliweb.git仓库的项目
jenkins配置
假设你已经安装了Git Plugin 插件。
在项目的构建触发器里选择轮询 SCM,后面的cron表达式不填表示无计划,因此只有被 post-commit 钩子触发后运行
开放端口
这步很重要,比如我的8087端口,不对外开放的话,jenkins接收不到webhook。
在jenkins和gitblit不在一台机器上部署的情况下不通。
至此jenkins配置完成。
参考gitblit与jenkins集成推送构建通知
测试
通过浏览器访问http://192.168.2.32:8087/jenkins/git/notifyCommit?url=http://192.168.1.244:443/r/~summer/dongliweb.git即可测试
jenkins配合github实现webhook配置
参考Jenkins与Github集成 webhook配置
我没试
---------------使用其它git工具后再更新--------------------------