Jenkins

Jenkins Github 分支源外掛在今天的 Github 身份驗證更改後使用 Github 令牌失敗

  • November 16, 2020

由於今天的 Github auth 更改棄用了 user/pass auth 和目前的 Github 分支源外掛,我目前面臨 Jenkins <> Github 集成的問題。

棄用資訊:https ://developer.github.com/changes/2020-02-14-deprecating-password-auth/#removal

外掛:https ://github.com/jenkinsci/github-branch-source-plugin

  • 詹金斯:2.249.3
  • Github 分支源碼外掛 2.9.1(最新)
  • 此詹金斯安裝僅是私有的(不面向公眾)
  • 正在訪問的 repo 是私有的(不是面向公眾的)
  • Github 令牌具有完整的 repo 訪問權限

問題:

該外掛強制 Github 不再接受的使用者/密碼驗證。說明將令牌放在密碼欄位中,但在我這樣做後它仍然抱怨:

無法使用使用者名/密碼身份驗證訪問 API

https://developer.github.com/changes/2020-02-14-deprecating-password-auth/#removal

說明狀態:“僅支持使用者名/密碼憑據”並指示在密碼欄位中添加令牌(螢幕截圖顯示此)

隨附的螢幕截圖清楚地顯示了崩潰:

在此處輸入圖像描述

對 ServerFault 的問題:

  • 我是否為憑據輸入了錯誤的令牌?我試過了:

    • 一個空使用者,以令牌作為密碼
    • 令牌作為使用者並通過
    • 令牌描述為使用者,令牌為密碼
  • 通常我會向開發人員送出有關應用程序問題的 Github 問題。但是,由於沒有“問題”組件可以向外掛開發人員送出問題,所以我想在這裡問我的問題,以防其他人遇到這個問題。

這裡的故事完全一樣。你的文章激勵我深入探勘,我找到了解決方案。

轉到“系統配置”(對不起,我的瀏覽器設置為德語,我不知道確切的措辭)並以“秘密文本”格式為 GitHub 伺服器創建新憑據。使用個人訪問令牌作為秘密並對其進行描述。

使用“測試連接”按鈕進行驗證。它應該列印出以下內容:

Credentials verified for user your-cool-username, rate limit: 4876

GitHub API 伺服器設置

現在在項目中,它仍然強制我使用使用者名/密碼憑據,但它似乎可以與我們更改的全域 GitHub API 設置一起使用。

我的使用者名/密碼憑據設置

外掛程式碼中有關於通過 SSH 結帳的參考資料(請參閱repo 中的此處),但我找不到使用密鑰身份驗證的方法。我的解決方案有效,這讓我有點困惑,我沒想到。

編輯:我實際上通過SSH 結帳選項找到了結帳,不確定/期望做得更好。

引用自:https://serverfault.com/questions/1042472