詹金斯自由式项目没有被github webhook触发

时间:2019-07-17 15:26:36

标签: jenkins github jenkins-plugins

所以,这是我到目前为止所做的:

  • 在上帝的许可下创建了GitHub个人访问令牌(删除存储库除外)
  • Jenkins中的关联个人访问令牌> Manage Jenkins> Configure System> GitHub,我对其进行了测试并说:“已验证用户dim_user的凭证,速率限制:4998” enter image description here
  • 选中“管理挂钩”
  • 在源代码管理中,我将其设置为:
    • 存储库URL:git@databases.github.com:ORG_NAME/bootcamp_databases
    • 凭据:- none -(我正在使用本地的Git配置文件和id_rsa私钥)
  • 还在“构建触发器”中,我检查了“用于GITScm轮询的GitHub钩触发器”,它指的是旧的“将更改推送到GitHub时的构建”。 enter image description here
  • 我能够手动构建它,并且完美运行(从GitHub获取源代码并部署所有内容)
  • 在项目的GitHub Hook日志中,它显示:“轮询尚未运行” enter image description here
  • GitHub最近的Webhook交付成功

enter image description here

Jenkins日志(jenkins.err)

Jul 17, 2019 10:11:31 AM org.jenkinsci.plugins.github.webhook.subscriber.DefaultPushGHEventSubscriber onEvent
INFO: Received PushEvent for https://github.com/ORG_NAME/bootcamp_databases from XXX.XX.115.71 ? http://XXXXXXXX.ngrok.io:8080/github-webhook/

项目:自由式

Jenkins版本:2.17.61

我尝试了这些但没有帮助:

实际

enter image description here

预期

在推送到GitHub并触发jenkins构建时实际获取代码。

我想念的是,以上所有内容都是其他stackoverflow问题的解决方案,但到目前为止还不是很好。

1 个答案:

答案 0 :(得分:0)

我认为您的错误在这里:

  • 构建触发器”,我已经检查了“ GITScm轮询
  • 的GitHub挂钩触发器”

在Jenkins和其他c.i服务器中,有两种技术检测 scm源更改:

  • 轮询:如果源代码发生更改(例如git clone每分钟并进行比较),则詹金斯( asks )会定期访问github
  • webhook:当在git平台(github,bitbucket等)中检测到事件时,Github notify 到您的Jenkins。 更便宜,并且不需要在预定义的时间间隔(轮询)进行检查更改

我的建议是尝试使用Webhooks代替scm轮询。轮询也是一种过时的技术。