热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

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勾子配置

后台脚本配置

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


推荐阅读
  • 本文介绍如何使用 Python 的 DOM 和 SAX 方法解析 XML 文件,并通过示例展示了如何动态创建数据库表和处理大量数据的实时插入。 ... [详细]
  • 零拷贝技术是提高I/O性能的重要手段,常用于Java NIO、Netty、Kafka等框架中。本文将详细解析零拷贝技术的原理及其应用。 ... [详细]
  • 解决Bootstrap DataTable Ajax请求重复问题
    在最近的一个项目中,我们使用了JQuery DataTable进行数据展示,虽然使用起来非常方便,但在测试过程中发现了一个问题:当查询条件改变时,有时查询结果的数据不正确。通过FireBug调试发现,点击搜索按钮时,会发送两次Ajax请求,一次是原条件的请求,一次是新条件的请求。 ... [详细]
  • 本文节选自《NLTK基础教程——用NLTK和Python库构建机器学习应用》一书的第1章第1.2节,作者Nitin Hardeniya。本文将带领读者快速了解Python的基础知识,为后续的机器学习应用打下坚实的基础。 ... [详细]
  • 本文详细介绍了如何在 Linux 系统上安装 JDK 1.8、MySQL 和 Redis,并提供了相应的环境配置和验证步骤。 ... [详细]
  • 在 CentOS 6.4 上安装 QT5 并启动 Qt Creator 时,可能会遇到缺少 GLIBCXX_3.4.15 的问题。这是由于系统中的 libstdc++.so.6 版本过低。本文将详细介绍如何通过更新 GCC 版本来解决这一问题。 ... [详细]
  • 如果应用程序经常播放密集、急促而又短暂的音效(如游戏音效)那么使用MediaPlayer显得有些不太适合了。因为MediaPlayer存在如下缺点:1)延时时间较长,且资源占用率高 ... [详细]
  • 本文详细介绍了如何在Linux系统(以CentOS为例)上彻底卸载Zimbra邮件系统,包括停止服务、删除文件和用户等步骤。 ... [详细]
  • 本文详细介绍了在 Ubuntu 系统上搭建 Hadoop 集群时遇到的 SSH 密钥认证问题及其解决方案。通过本文,读者可以了解如何在多台虚拟机之间实现无密码 SSH 登录,从而顺利启动 Hadoop 集群。 ... [详细]
  • 本文介绍如何在 Android 中自定义加载对话框 CustomProgressDialog,包括自定义 View 类和 XML 布局文件的详细步骤。 ... [详细]
  • 本文介绍如何使用线段树解决洛谷 P1531 我讨厌它问题,重点在于单点更新和区间查询最大值。 ... [详细]
  • 网站访问全流程解析
    本文详细介绍了从用户在浏览器中输入一个域名(如www.yy.com)到页面完全展示的整个过程,包括DNS解析、TCP连接、请求响应等多个步骤。 ... [详细]
  • 深入解析 Lifecycle 的实现原理
    本文将详细介绍 Android Jetpack 中 Lifecycle 组件的实现原理,帮助开发者更好地理解和使用 Lifecycle,避免常见的内存泄漏问题。 ... [详细]
  • 如何在Java中使用DButils类
    这期内容当中小编将会给大家带来有关如何在Java中使用DButils类,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。D ... [详细]
  • poj 3352 Road Construction ... [详细]
author-avatar
mobiledu2502882543
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有