Какие параметры командной строки и переменные среды управляют тем, как terraform находит ключи для загрузки модулей из git?
При использовании модулей terraform из репозитория git у меня возникают проблемы, когда я выполняю план через сервер сборки jenkins.
Я использую модули с таким источником:
source = "git@github.com:mygroup/myrepo.git//mymodule"
Это приводит к тому, что закрытый ключ / ключ развертывания не находится в каталоге home / .ssh пользователя jenkins
Permission denied (publickey).
fatal: Could not read from remote repository.
Я могу использовать WithEnv (["HOME = dir"]) раздел и создайте каталог .ssh, но я думаю, что должен быть более элегантный withCredential + опция командной строки для обработки этого сценария.
Вы знаете лучший подход?
Спасибо
Оберните свои шаги терраформы в sshagent
:
sshagent(['my-credential-id']) {
sh 'terraform init'
// etc.
}
Заменить my-credential-id
с идентификатором учетных данных, содержащих ваш закрытый ключ развертывания.