Как добавить удаленное репозиторий Azure для модулей terraform, чтобы код терраформирования работал на конвейерах Azure

Приведенное ниже определение источника работает для модулей terraform, НО у него есть PAT TOKEN. Отлично работает как на локальной виртуальной машине, так и на Azure Pipelines. Этот вопрос касается того, как определить определение источника для модулей terraform, но без жесткого кодирования PAT TOKEN

Рабочая копия кода:

source = "git::https://<PAT TOKEN>@<AZURE DEVOPS URL>/DefaultCollection/<Project Name>y/_git/terraform-modules//<sub directory>"

Я пробовал следующее:

    git::https://<AZURE DEVOPS URL>/DefaultCollection/<Project Name>/_git/terraform-modules.git//<sub directory>

Это дало мне ошибку, как показано ниже:

"git::https://<AZURE DEVOPS URL>/DefaultCollection/<Project Name>/_git/terraform-modules":
error downloading
'https://<AZURE DEVOPS URL>/DefaultCollection/<Project Name>/_git/terraform-modules':
/usr/bin/git exited with 128: Cloning into
'.terraform/modules/resource_group'...
fatal: could not read Username for 'https://<AZURE DEVOPS URL>':
terminal prompts disabled

Добавлено мое имя пользователя без доменной части, как показано ниже:

source                  = "git::https://<USERNAMEM@<AZURE DEVOPS URL>/DefaultCollection/<PROJECT NAME>/_git/terraform-modules.git//compute"

Ошибка ниже:

"git::https://<USERNAME>@<AZURE DEVOPS>/DefaultCollection/<PROJECT>/_git/terraform-modules.git":
error downloading
'https://<USERNAME>@<AZURE DEVOPS>/DefaultCollection/<PROJECT>/_git/terraform-modules.git':
/usr/bin/git exited with 128: Cloning into '.terraform/modules/sql_vms'...
fatal: could not read Password for
'https://<USERNAME>@<AZURE DEVOPS>': terminal prompts disabled

Когда конвейер сборки может выполнять проверку даже без указания имени пользователя и пароля, почему мы должны упоминать это в коде терраформирования.

Агент Azure Pipeline имеет учетные данные git. Не уверены, что это вообще будет работать без токена PAT?


comment
https://<USERNAME>@<AZURE DEVOPS>/DefaultCollection/<PROJECT>/_git/terraform-modules.git, если вы пытаетесь получить доступ к репозиториям DevOps в этом формате, вы также можете использовать учетные данные git или ssh. См. this.   -  person LoLance    schedule 13.12.2019


Ответы (1)


Взгляните на это - Можно ли пройти аутентификацию в удаленном репозитории Git с использованием учетных данных Windows по умолчанию в неинтерактивном режиме?

Итак, в нашем случае мы обнаружили, что простой запуск git config --global http.emptyAuth true перед terraform решает проблему. :@ бизнес не нужен, если только ваш репозиторий модулей terraform не является репозиторием LFS. Но это не наш случай, поэтому он нам не понадобился.

person mark    schedule 19.04.2020