哪些命令行选项和环境变量控制 terraform 如何查找从 git 下载模块的密钥?
当我使用来自 git repo 的 terraform 模块时,我通过 jenkins 构建服务器执行计划时遇到了问题。
我正在使用具有如下源的模块:
source = "[email protected]:mygroup/myrepo.git//mymodule"
由于私有/部署密钥不在 jenkins 用户的 home/.ssh 目录中,因此导致以下结果
Permission denied (publickey).
fatal: Could not read from remote repository.
我可以使用WithEnv(["HOME=dir"])子句并建立一个 .ssh 目录,但我认为必须有一个更优雅的带凭证+ 命令行选项来处理这种情况。
您知道有更好的方法吗?
谢谢
答案1
将您的地形步骤包裹起来sshagent
:
sshagent(['my-credential-id']) {
sh 'terraform init'
// etc.
}
将其替换my-credential-id
为包含您的部署私钥的凭证的 ID。