【问题标题】:Jenkins not triggered by github-webhookJenkins 不是由 github-webhook 触发的
【发布时间】:2019-11-04 22:34:54
【问题描述】:

我已采取以下步骤:

  • 勾选“GitHub项目”并设置项目
  • 检查“GITScm 轮询的 GitHub 挂钩触发器”
  • 使用用户/密码设置与私有存储库的连接
  • 如果我手动构建,它可以工作
  • 在 GitHub 中,创建一个推送到 http://my_jenkins_url/github-webhook/ 的 webhook
  • 每当我提交某些内容时,它都会显示一个 webhook 已发送,并且我会收到一个 200 响应代码(在 github 上)

但没有在 Jenkins 上触发构建。 GitHub 挂钩日志说:“轮询尚未运行。”。我怎样才能让它“开始”?我该如何进一步调试呢?

编辑:我没有在 Manage Jenkins -> Configure -> GitHub 中添加 GitHub 服务器,因为我遇到了身份验证问题(但这将是一个不同的问题)。这是 github webhook 所必需的吗?

EDIT2:我想出了如何将 GitHub API 添加到 Jenkins 配置(使用启用了 git hook 访问的个人访问令牌)。不过好像没什么区别。

【问题讨论】:

  • 我希望您没有将 Jenkins 作为本地主机运行?然后就不行了。我知道我不应该发布链接,但这里有一篇非常简单的博文,介绍了实现 webhook 的一种简单方法。对我来说,它就像一种魅力。 dzone.com/articles/…
  • 你解决过这个问题吗?

标签: jenkins github webhooks


【解决方案1】:

我找到了正确修复它的方法。

首先。在 Jenkins 管理 > 系统日志中设置 Jenkins 记录器

使用此配置添加日志记录器

hudson.plugins.git.GitStatus - All
com.cloudbees.jenkins.GitHubWebHook - All
org.jenkinsci.plugins.github - All

第二。再次挂钩触发器。

并再次检查记录器。就我而言,记录器说

Skipped {ProjectName} because it doesn't have a matching repository.

第三。检查 webhook 请求的确切来源。

它将在记录器中这样指定:

Received PushEvent for https://github.com/{username}/{reponame} from {ip} ⇒ http://{your jenkins url}/github-webhook/

第四。再次进入jenkins项目配置,

在第 3 步检查整个 github url 是否与 https://github.com/{username}/{reponame} 完全相同。

最后没有.git。

我希望这个答案对你有所帮助。谢谢

【讨论】:

  • 这是调试 webhook 的最佳方式。 Jenkins 作业在被 webhook 触发之前需要至少手动运行一次。
  • 非常感谢。终于修复了我的 Jenkins-Github webhook。
猜你喜欢
  • 2019-09-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-12-23
  • 1970-01-01
  • 2021-10-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多