Jenkins与git工具完成webhook勾子配置

Jenkins与git工具完成webhook勾子配置

文章目录

    • Jenkins与git工具完成webhook勾子配置
  • 前言
  • jenkins配合gitblit实现webhook配置
    • gitblit配置
      • 网站配置
      • 后台脚本配置
    • 重启gitblit
  • 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并移动到右侧。效果如下
Jenkins与git工具完成webhook勾子配置_第1张图片

后台脚本配置

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工具后再更新--------------------------

你可能感兴趣的:(技术工具,jenkins,gitblit)