簡體   English   中英

Jenkins Github 與 SMEE 客戶端集成:Jenkins 不喜歡 Webhook Override Hook URL

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM