3

我有一个新签入的 GitHub 挂钩,但 Jenkins 没有收到它(在 RedHat OpenShift 盒式磁带上运行)。

设置

  • 运行 Jenkins 的 RedHat OpenShift 盒式磁带
  • 詹金斯插件在玩
    • GitHub插件 v1.8
    • Github 身份验证插件 v0.14
    • Jenkins GIT 客户端插件 v1.4.5
    • 詹金斯 GIT 插件 v2.0
  • 公共 GitHub 存储库

调试

我已将其范围缩小到 GitHub 与 OpenShift 的通信,但不确定如何进一步排除故障或解决问题。为了缩小范围,我执行了以下步骤:

  1. 在 GitHub 中配置以下每种类型的 Service Hook 中的一种,并在 RequestBin 中捕获结果
    • 网络挂钩网址
    • 詹金斯 GitHub 插件
    • 詹金斯 Git 插件
  2. 然后我从 GitHub 运行了 Test Hook
  3. 我从每个 RequestBin 中获取了生成的标头和有效负载,并在 Fiddler 中手动创建了一个指向 webhook 端点的 POST 请求
  4. 我通过登录com.cloudbees.jenkins.GitHubWebHook看到了对 Jenkins 的一些操作

然而,来自 GitHub 的测试钩子和检入存储库从未到达服务器,至少日志没有证明这一点。

我相信我已将其范围缩小到 SSL 问题。GitHub 不会将 webhook 发布到配置了 OpenShift 的 Jenkins 插件,因为它只响应 SSL/HTTPS。我不确定罐装 Jenkins 墨盒的具体配置方式,或者如何更改它是否使用 SSL。

可以更改 OpenShift 卡式盒是否使用 SSL,但我不想花时间进入它。解决方案是创建您自己的墨盒定义,您可以在其中指定所有设置,特别是创建哪些端点。这是生成正确端点的 OpenShift 参考,以防有人想走那条路。

4

1 回答 1

0

我相信我已将其范围缩小到 SSL 问题。GitHub 不会将 webhook 发布到配置了 OpenShift 的 Jenkins 插件,因为它只响应 SSL/HTTPS。我不确定罐装 Jenkins 墨盒的具体配置方式,或者如何更改它是否使用 SSL。

可以更改 OpenShift 卡式盒是否使用 SSL,但我不想花时间进入它。解决方案是创建您自己的墨盒定义,您可以在其中指定所有设置,特别是创建哪些端点。这是生成正确端点的 OpenShift 参考,以防有人想走那条路。

于 2013-11-06T23:59:22.267 回答