Назад | Перейти на главную страницу

Какие переменные (помимо HOME) определяют, откуда terraform ожидает найти ключ git для модулей с github в качестве источника

Какие параметры командной строки и переменные среды управляют тем, как 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 с идентификатором учетных данных, содержащих ваш закрытый ключ развертывания.