DevsDawn
DevsDawn

在Jenkins上不使用插件进行Git系统Webhook触发集成

最近使用到Jenkins来进行持续集成,代码库在自建的Gitlab上,而Jenkins里已有提供GitLab Plugin插件,很方便地就完成了部署。但是若使用其它的例如阿里云Code和腾讯云TGit系统却没有对应的插件,网上也没有好的解决方案。尝试使用过Generic Webhook Trigger Plugin,但是多个项目都使用的话,会把所有项目都触发构建。

因为我的需求比较简单,只需响应Push请求然后拉取代码发布到FTP上,后来决定直接使用“触发远程构建(例如,使用脚本)”这个系统自带触发器,步骤如下:

  1. 由于我的Jenkins系统设定了必须登录,触发时需要身份验证,于是新建一个Jenkins用户用于Webhook,赋予Overall Read、Job Create&Discover&Read权限(也可使用管理员帐号,但是为了系统安全,还是建了一个低权限的帐号用于Webhook)
  2. 在项目配置的构建触发器中勾选“触发远程构建 (例如,使用脚本)”,由于使用Webhook时直接登录帐号,身份验证令牌可不填。记录下Use the following URL to trigger build remotely:后的URL即可。?token=TOKEN_NAME可省略
  3. 登录Git平台,在Webhook配置中填写上一步的URL并带上登录验证信息,勾选勾选Push events,最终URL类似于如下:
    > http://USERNAME:PASSWORD@JENKINS_HOST/job/JOB_NAME/build
  4. 完成,当代码Push上Git系统时,Jenkins将执行构建
若无特别说明,本文采用 CC BY-SA 4.0 协议进行许可。如需转载,请附上本文链接和本声明。
本文链接:https://devsdawn.com/2018/02/using-webhook-trigger-ci-in-jenkins-without-plugins/
DigitalOcean云服务,美国上市公司,注册即送200USD体验金
Vultr云服务,全球25+地域,注册即送100USD体验金

发表回复

textsms
account_circle
email

DevsDawn

在Jenkins上不使用插件进行Git系统Webhook触发集成
最近使用到Jenkins来进行持续集成,代码库在自建的Gitlab上,而Jenkins里已有提供GitLab Plugin插件,很方便地就完成了部署。但是若使用其它的例如阿里云Code和腾讯云TGit系统却没有对应…
扫描二维码继续阅读
2018-02-17