[英]Jenkins Github integration with SMEE client: Jenkins doesn't like Webhook Override Hook URL
我們在防火牆后面運行 Jenkins 以使用 SMEE 客戶端提供必要的代理來公開 github.com。 但是,在我們的 Jenkins [版本 2.361.4-jdk11] 配置頁面中,Github 插件斷然拒絕保存 Override Webhook URL https://smee.io/blah
(其中blah
是我們的 SMEE 頻道),而是在按下Apply
時,它說(橙色):
“它看起來不像https://smee.io/blah
正在與 Jenkins 通話。你在運行自己的應用程序嗎?”
我們可以看到,在 Jenkins 配置頁面上按下Apply
的那一刻,SMEE 服務器收到了一個事件,其有效負載形式為:
"1668551517454":{
}
...同時,來自 SMEE 客戶端的journald
日志 output(與 Jenkins 在同一台機器上運行,每個都在自己的 Docker 容器中)顯示它已成功回發到正確的 [默認]港口:
POST http://10.10.1.29:8080/github-webhook/ - 200
... 10.10.1.29
是運行 SMEE 客戶端和 Jenkins 的機器地址。 因此,從 Jenkins 到 SMEE 服務器、從 SMEE 服務器到 SMEE 客戶端以及從 SMEE 客戶端到 Jenkins 的連接似乎都在工作。
是什么擾亂了 Github 插件和/或 Jenkins? 我們是否可以從 Jenkins 或插件獲得一些更詳細的日志記錄,以確定是什么讓它不高興( journald
日志日志 output 說沒有什么比INFO hpbg 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賬戶,你可以看到痛苦。
解決方法是手動編輯 Jenkins github-plugin-configuration.xml
配置文件,添加一個這樣形式的字段:
<hookUrl>https://smee.io/thestringfromsmee</hookUrl>
...[我的例子,使用 SMEE] 在<github-plugin-configuration>
中,與<configs>
和<hookSecretConfigs>
處於同一級別,然后重新啟動 Jenkins。
呵呵。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.