Как передать SSH User Private, который находится на Jenkins, в файл .sh, который можно использовать для git pull - PullRequest
0 голосов
/ 12 декабря 2018

Я делаю работу конвейера jenkins, которая вызывает файл jenkins, внутри этого im, вызывающего файл terraform.sh с CredentialsBinding.когда я бегу, я получаю ниже ошибку в terraform init.

 Getting source "git::ssh://git@gitlab.com/****/terraform-modules.git//pre-production?ref=0.0.1"
Error downloading modules: Error loading modules: error downloading 'ssh://git@gitlab.com/****/terraform-modules.git?ref=0.0.1': /usr/bin/git exited with 128: Cloning into '.terraform/modules/515fc2bd0e7790ab33b22f826cd0173b'...
Permission denied (publickey).
fatal: Could not read from remote repository.

1 Ответ

0 голосов
/ 12 декабря 2018

Это не проблема Terraform или Jenkins, а проблема аутентификации Git.

Часть ssh адреса репозитория Git указывает на то, что вам необходима пара ключей SSH, настроенная для доступа к ней.Сделки рЕПО.Вам нужно будет настроить вещи как на репозитории Git, так и на сервере Jenkins.См. Gitlab docs для получения дополнительной информации.

Теперь, если репозиторий был публичным, вы можете отказаться от конфигурации SSH и переключить URL-адрес репозитория Git на использование HTTPS.Например:

https://gitlab.com/****/terraform-modules.git

И если вы беспокоитесь о безопасности, вы всегда можете установить брандмауэр перед сервером Gitlab и ограничить доступ только к вашим серверам Jenkins.

Надеюсь, это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...