我想避免在 Jenkins 中存盤任何憑據,而僅依靠 Hashicorp Vault 來存盤和管理憑據。
一旦管道作業,讓它作業是非常微不足道的,但我找不到任何示例或指導,說明如何在不將 PAT 令牌存盤在 Jenkins 機密中的情況下,從 Jenkinsfile 中的私人倉庫進行初始 git 克隆。
我想先呼叫 Vault,從那里獲取 PAT 令牌,然后使用 Jenkinfile 克隆 repo。
任何人都可以給我一個提示嗎?
uj5u.com熱心網友回復:
從 SCM 中檢出您的專案檔案
您將需要至少存盤 approle/secret 以在 Jenkins 憑證存盤中訪問 Vault。但是,一旦你這樣做了,你應該能夠使用Vault 插件來訪問你需要的任何資訊,并將其保存到環境變數中。從那里,您可以根據需要使用該環境變數。
有關如何在 Jenkinsfile 中使用 Vault 插件的示例,請參見此處
用于檢查您的 Jenkinsfile(原始結帳/克隆)
注意:以下取決于使用 SSH 訪問您的 SCM。我已經確認此方法適用于 Git/SSH。
您可以將 SSH 密鑰添加到 Jenkins 內置節點(以前的主節點)用戶的主目錄,以及您使用的任何構建節點的用戶主目錄。您還需要將正確的配置選項添加到您的 SSH 組態檔 (.ssh/config),以便 SSH 使用該密鑰來訪問您的 SCM 服務器。
Host myscm.mycompany.com
User scmuser
IdentityFile ~/.ssh/scm_id_rsa
PreferredAuthentications publickey
RequestTTY no
完成上述設定后,您只需在 Jenkins 中指定 SCM URL,它將使用 SSH 檔案夾中的默認值。
如果您不使用 SSH,請使用您的 SCM 以及訪問方法(http?rsync?)發回。
來自評論:
您還有兩個選擇:(1) 將您的 Jenkinsfile 存盤在與您的專案存盤庫不同的公共存盤庫中,或者將您的專案存盤庫公開,或者 (2) 直接在作業中定義您的管道,這樣您就不需要詹金斯檔案
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/491528.html
