Jenkins在推送后未构建,但Github的Webhook正常工作。

6

我想我已经完成了困难的部分: Github推送后的Webhook总是返回成功消息。

我可以手动构建。 但它在推送后从未构建,因为“轮询”从未发生。

GitHub Hook日志和Git轮询日志都显示“尚未运行轮询”。

这是我的配置:

  • 要构建的分支:refs/heads/checkJenkins
  • 构建触发器: GitHub钩子触发器用于GITScm轮询,轮询SCM
  • 构建:执行shell:“git pull”

有什么想法可以启动轮询吗?

一个副问题:当我在github中使用webhook时,应该由“GITScm轮询”或“Poll SCM”执行轮询? 我可以删除其中一个设置吗?

Triggers and build

2个回答

4

Poll SCM 的作用是在由 Schedule 指定的间隔时间内定期扫描仓库中的更改。因此,这个选项是多余的。

现在来看钩子(hook),它是否配置为提供所有信息或只有推送事件?您可以在浏览器中输入http://<jenkins_url>/log/all来查看在推送更改时系统日志。在该日志的底部,查看Jenkins是否已接收到钩子并 poke 了作业。如果没有接收到钩子,请在 GitHub 上重新配置以发送适当的事件。否则,删除并重新创建作业,因为有时 Jenkins 在接收事件时无法注册新作业以进行 poke,而其他时候新作业本身不会响应 poking。


True Poll SCM 可以运行一个计划,但如果您没有设置计划,它会显示“没有计划,只有在由提交后钩子触发时才会因 SCM 更改而运行”。所以显然它是在钩子上运行的。我仍然感到困惑,因为我选择的两个设置都是在钩子上运行的。 - Bret Hess
http://<jenkins_url>/log/all 显示了设置操作,但没有来自 GitHub 的任何内容。但是 GitHub webhook 页面显示已发送许多成功的负载。 - Bret Hess
请在此处查看 https://support.cloudbees.com/hc/en-us/articles/224621648-GitHub-Webhook-Troubleshooting?mobile_site=true。 - Dibakar Aditya
谢谢你的文章Dibakar。当我进入“管理Jenkins”时,我只看到与插件相关的“管理插件”。我没有看到任何改变GitHub插件属性的方法,只能卸载它。 - Bret Hess

0

只需保留GitHub钩子触发器用于GITScm轮询,因为这是有条件触发器的正确选项(遵循git push而不是作为cron作业计划的定期轮询,即适当的轮询1)。

至于如何启动触发(而非轮询)的想法,请参考我的“飞行前检查清单”here,因为这不是一个琐碎的问题。


顺便提一下:如果您也认为“轮询”这个词在此选项中使用不当(根据该术语的定义),请随时向Jenkins Github插件开发人员报告。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接