当我使用部署 terraform 代码的 msft 托管代理添加变量组时,Azure 管道超时
Azure pipelines timing out when I add a variable group using msft-hosted agent deploying terraform code
当我添加变量组时,我的 Azure 管道在 terraform plan/apply 上超时。
变量
变量组
我尝试做一些研究但无济于事。
yml
在管道中使用 运行 Terraform 时,您需要传递参数 -input-false
。这将导致 Terraform 立即输出错误,我怀疑它说的是 the input variable vnet_name is not set
之类的内容,因为您尚未解释如何将变量组加入 Terraform。仅仅添加管道变量是不够的,还必须将它们传递到 Terraform 中。
有多种方法可以将值传递到 Terraform 中,如本页所述:https://www.terraform.io/language/values/variables#assigning-values-to-root-module-variables
我见过最常用的方法是创建一个 environment.tfvars
文件。这是一个简单的 key:pair 变量值,您可以 hard-code 变量,然后像 terraform apply -var-file="environment.tfvars"
一样将其传递到 Terraform
如果您在 Azure Pipelines 中有要放置的值,则可以使用 Azure 替换令牌任务。 (https://marketplace.visualstudio.com/items?itemName=qetza.replacetokens)
在这种情况下,您的 environment.tfvars
将如下所示:
vnet_name = #{vnet_name}#
替换令牌任务会将 Azure Pipeline 变量 vnet_name
替换为变量组中描述的值。
当我添加变量组时,我的 Azure 管道在 terraform plan/apply 上超时。
变量
变量组
我尝试做一些研究但无济于事。
yml
在管道中使用 运行 Terraform 时,您需要传递参数 -input-false
。这将导致 Terraform 立即输出错误,我怀疑它说的是 the input variable vnet_name is not set
之类的内容,因为您尚未解释如何将变量组加入 Terraform。仅仅添加管道变量是不够的,还必须将它们传递到 Terraform 中。
有多种方法可以将值传递到 Terraform 中,如本页所述:https://www.terraform.io/language/values/variables#assigning-values-to-root-module-variables
我见过最常用的方法是创建一个 environment.tfvars
文件。这是一个简单的 key:pair 变量值,您可以 hard-code 变量,然后像 terraform apply -var-file="environment.tfvars"
如果您在 Azure Pipelines 中有要放置的值,则可以使用 Azure 替换令牌任务。 (https://marketplace.visualstudio.com/items?itemName=qetza.replacetokens)
在这种情况下,您的 environment.tfvars
将如下所示:
vnet_name = #{vnet_name}#
替换令牌任务会将 Azure Pipeline 变量 vnet_name
替换为变量组中描述的值。