下面给出的源定义适用于 terraform 模块,但它有一个 PAT TOKEN。在本地 VM 以及 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
当构建管道即使不指定用户名和密码也可以进行结帐时,为什么我们必须在 terraform 代码中提及。
Azure Pipeline Agent 具有 git 凭据。不确定如果没有 PAT 令牌,这是否会起作用?