当我使用部署 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 替换为变量组中描述的值。