Jenkins Github与SMEE客户端的集成:Jenkins不喜欢Webhook Override Hook URL



我们在防火墙后面运行Jenkins,使用sme客户端提供必要的代理来公开github.com。然而,在我们的Jenkins[版本2.361.4-jdk11]配置页面中,Github插件断然拒绝保存Override Webhook URLhttps://smee.io/blah(其中blah是我们的SMEE通道),相反,当Apply被按下时,它说(橙色):

"看起来https://smee.io/blah不像在和Jenkins说话。你在运行自己的应用程序吗?">

我们可以看到,在Jenkins配置页面上按下Apply的那一刻,SMEE服务器接收到一个事件,其有效负载形式为:

"1668551517454":{
}

…同时,SMEE客户端的journald日志输出(与Jenkins运行在同一台机器上,每个都在自己的Docker容器中)显示它已经成功地发送回正确的[默认]端口:

POST http://10.10.1.29:8080/github-webhook/ - 200

10.10.1.29是运行sme客户端和Jenkins的机器的地址。因此,从Jenkins到SMEE服务器、SMEE服务器到SMEE客户端以及SMEE客户端到Jenkins的连接似乎都是正常的。

什么可以扰乱Github插件和/或Jenkins?是否有一些更详细的日志记录,我们可以从詹金斯,或插件,以确定是什么扰乱了它(詹金斯的journald日志输出说没有比INFO h.p.b.g. GlobalTimeOutConfiguration#configure: global timeout has been cleared更有趣的在这个时候)?

如果重要的话,SMEE客户端使用:

docker run --name smee-client --restart=on-failure --detach --log-driver=journald deltaprojects/smee-client -u https://smee.io/blah -t http://10.10.1.29:8080/github-webhook/

…并且Jenkins Docker的安装是根据Jenkins的说明构建/运行的。

答案是…Jenkins Github插件的GUI坏了,它永远不会保存你在Override Hook URL框中输入的内容。它自2020年9月以来一直被打破。如果你有一个Jenkins Jira帐户,你可以看到痛苦。

解决方法是手动编辑Jenkinsgithub-plugin-configuration.xml配置文件,以添加以下表单的字段:

<hookUrl>https://smee.io/thestringfromsmee</hookUrl> 

…[本例为我的情况,在<github-plugin-configuration>中使用SMEE],与<configs><hookSecretConfigs>处于同一级别,然后重启Jenkins。

Ho的嗡嗡声。

相关内容

  • 没有找到相关文章

最新更新