Jenkins: Github webhook does not trigger any job

时间:2018-01-05 16:06:23

标签: jenkins

I try to configure Jenkins. I want a simple behavior: trigger a build on new pull request.

I cannot understand what I missed...

Jenkins version: 2.89.2

At https://ci.mysite.fr/configure

enter image description here

仍然没有触发构建:

enter image description here

https://ci.mysite.fr/job/test-back/configure enter image description here

在Github上,Webhook被Jenkins收到并受到好评:

enter image description here

Nginx Log说的相同:

enter image description here

请帮忙!

2 个答案:

答案 0 :(得分:2)

调试此类事情时要检查的一些事项:

  • 检查你的Jenkins日志,看看Jenkins是否正在接受钩子并决定不再采取行动。
  • 单击Manage Jenkins - >检查Jenkins安全性。配置全局安全性。尽可能地打开你自己做的事,看看是否有任何改变。
  • 确保您将更改推送到主分支。为简化起见,请考虑使用**作为分支说明符,同时让您开始使用它。
  • 单击Manage Jenkins - >确保在Jenkins主机上正确配置Git。全局工具配置
  • 确保您提供的凭据的用户可以管理摘机并从您感兴趣的回购中提取。
  • 在Jenkins中手动运行作业,确保它正常工作。
  • 运行作业后,它应显示为受保护分支/必需状态中的选项。在您的仓库中,单击“设置” - >“分支”,在“分支”部分中选择您的分支,在合并前单击“需要状态检查以通过”选项,并且您的作业应显示在显示的列表中。

答案 1 :(得分:0)

Webhooks 可以说是 Jenkins 最难在没有经验的情况下测试的功能,因为这样的问题(可能他们的列表不完整):

  1. 必须为每个管道构建创建新的 git commit / git push(即使 Webhook 已经正确设置,重复之前的构建也不会触发新构建 - 见下文)。

  2. 在正确设置 webhook 后进行的第一次构建必须是手动的(不能从 webhook 本身进行引导)。

  3. 在正确设置 webhook 后进行的第一次构建必须完全成功,更改才能生效并让 webhook 开始工作。这也会导致 Jenkins 错过在新创建的管道的第一次构建期间发出的所有传入请求。


更多信息

  1. 请注意,不可能再次使用相同的构建条件(至少使用 Webhook)触发构建。因此,您可能已经有了正确的 webhook 设置,但除非您创建一个新的 git commit 并将其推送到 Github 上的远程存储库,否则不会发现它有效。如果您尝试一遍又一遍地重复一些旧的推送,只需在 Github 的 Webhooks/管理 webhook 页面上的“最近交付”部分中按“重新交付”按钮,Jenkins 将永远不会超出“戳”回购阶段,因为它需要 SCM要检测更改以触发新构建:
Received PushEvent for https://github.com/mirekphd/<REPO_NAME> from <GITHUB_IP> ⇒ <JENKINS_URL>/github-webhook/

Apr 16, 2021 9:42:12 PM INFO org.jenkinsci.plugins.github.webhook.subscriber.DefaultPushGHEventSubscriber$1 run
Poked <REPO_NAME>

Apr 16, 2021 9:42:13 PM INFO com.cloudbees.jenkins.GitHubPushTrigger$1 run
SCM changes detected in <REPO_NAME>. Triggering #236

有关第 2) 和 3) 点的更多信息:请参阅原始 source