Jenkins
哪些變數(除了 HOME)決定了 terraform 期望從哪裡找到以 github 為源的模組的 git 鍵
什麼命令行選項和環境變數控制 terraform 如何找到從 git 下載模組的密鑰?
當我使用來自 git repo 的 terraform 模組時,當我通過 jenkins 建構伺服器執行計劃時遇到了問題。
我正在使用具有以下源的模組:
source = "git@github.com:mygroup/myrepo.git//mymodule"
這導致以下結果,因為私有/部署密鑰不在 jenkins 使用者的 home/.ssh 目錄中
Permission denied (publickey). fatal: Could not read from remote repository.
我可以使用WithEnv($$ “HOME=dir” $$)子句並建立一個 .ssh 目錄,但我認為必須有一個更優雅的withCredential + 命令行選項來處理這種情況。
你知道更好的方法嗎?
謝謝
將您的 terraform 步驟包裝在
sshagent
:sshagent(['my-credential-id']) { sh 'terraform init' // etc. }
替換
my-credential-id
為包含您的部署私鑰的憑證的 ID。