我在Azure DevOps中有我的编码项目,我想使用自己创建的Terraform模块。但是我想将terraform和我的应用程序保留在不同的项目中。
我想在AZ管道中使用Terraform时遇到问题,当我运行管道时收到以下错误:
- task: Bash@3
displayName: 'DEBUG'
inputs:
targetType: 'inline'
script: |
git config --get-all --global http.https://dev.azure.com/my-organization/Infra/_git/terraform-modules.extraheader "Authorization: bearer $SYSTEM_ACCESSTOKEN"
terraform init
env:
SYSTEM_ACCESSTOKEN: $(System.AccessToken)
输出
Error: Failed to download module
Could not download module "iam" (aws_ecs.tf:11) source code from
"git::https://dev.azure.com/my-organization/Infra/_git/terraform-modules": error
downloading 'https://dev.azure.com/my-organization/Infra/_git/terraform-modules':
/usr/bin/git exited with 128: Cloning into '.terraform/modules/iam'...
fatal: could not read Username for 'https://dev.azure.com': terminal prompts
disabled
模块源配置如下:
source = "git::https://dev.azure.com/my-organization/Infra/_git/terraform-modules//modules/ecs-iam"
AZ DevOps设置(图像):
在本地计算机上,一切正常,将模块克隆好。
我尝试遵循官方指南https://www.terraform.io/docs/modules/sources.html
这有可能吗?
答案 0 :(得分:1)
我认为git config中的网址错误,应该删除存储库名称后的所有内容。
它应该像这样:
git config --global http.https://dev.azure.com/my-organization/Infra.extraheader "Authorization: bearer $SYSTEM_ACCESSTOKEN"
答案 1 :(得分:0)
无需直接使用Git。将repository
资源添加到您的YAML中,然后使用checkout
进行克隆。