簡體   English   中英

當 github 帳戶使用 2 因子身份驗證時,是否可以將 Jenkins Webhooks 與 Github 一起使用

[英]Is it possible to use Jenkins Webhooks with Github when the github account uses 2 factor auth

我正在為 jenkins 使用最新的 docker 鏡像(jenkins/jenkins:lts JENKINS_VERSION 2.208)。 我已經啟動了容器,配置了 jenkins,並且可以針對公共存儲庫手動構建。 但是,在我的 github 帳戶上,我有 2FA,必須保留。 我在 Github 中創建了一個個人訪問令牌,並在我的 jenkins 配置中用於 github 服務器部分。 我已經通過按下測試連接鏈接來驗證連接是否正常(我添加了使用來自 github 的個人訪問令牌的秘密文本): Jenkins Github 服務器設置

在 Github 中,我有 wekhook 設置,其中包含 jenkins 托管位置的 IP 地址(docker 容器的 IP),然后是 github-webhook(我也嘗試使用 jenkins 的 dns 映射地址,例如http:// jenkins-local/github-webhook ),內容類型為 application/json: Github 網絡鈎子設置 .

我也在 jenkins 中啟用了 github 輪詢,但是,它不適用於對 repo 的推送請求。 我在 webhooks 部分的 Github 中看到失敗日志,每次我進行推送時都會增加(請求不斷失敗)。 我在互聯網上進行了廣泛搜索,並找到了有關如何操作的建議文檔,包括此處的鏈接:保護您的 webhooks ,但是當發起推送並觸發構建時,沒有任何內容給我所需的輪詢效果。 所以我的問題是,是否可以使用 2FA 和 github webhooks? 如果可能,那么具體的步驟是什么?

如果您啟用了 2FA,您將無法再使用工具中的登錄名/密碼進行身份驗證。 您需要創建一個令牌來代替您的密碼。

官方文檔應該很快就能讓你到達那里。

最后的解決辦法是下載ngrok。 我之前嘗試過的 IP 地址和 dns 映射地址不是公開可用的。 我也嘗試使用我的公共 IP 地址,但這也不起作用。 最后,下載 ngrok 給了我一個可公開訪問的 ip 地址(地址將如下所示: http : //1212344a.ngrok.io )。 如果您還計划使用 ngrok,請確保當您從命令行/終端啟動它時,如果需要,您還為本地運行的應用程序傳遞相同的端口。 接下來,在 github - settings - webhooks 中將有效負載 url 設置為 ngrok 在終端輸出中提供的 url,但還將 /github-webhook/ 附加到地址末尾以完成有效負載 url(在我的情況下,這是http ://1212344a.ngrok.io/github-webhook/作為完整的有效負載 URL)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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