lea*_*ner 7 terraform azure-devops terraform-provider-azure
我创建了一个简单的管道。带有 Azure DevOps Build管道的Github 存储库。
我在 Github 私有存储库中的 ax.tf 文件中定义了以下提到的变量:
ARM_CLIENT_ID
ARM_CLIENT_SECRET
ARM_SUBSCRIPTION_ID
ARM_TENANT_ID
Run Code Online (Sandbox Code Playgroud)
构建管道有一个简单的命令行作业,如下所示:
sudo apt install wget
wget https://releases.hashicorp.com/terraform/0.11.11/terraform_0.11.11_linux_amd64.zip
sudo apt-get install unzip
unzip terraform_0.11.11_linux_amd64.zip
terraform init
terraform plan -var-file=terraform.tfvars -out=ax.plan
terraform apply ax.plan
terraform destroy -auto-approve
Run Code Online (Sandbox Code Playgroud)
我想知道如何在 Terraform ax.tf 文件中引用这些 Build 变量?
我按照 Azure DevOps 文档做了类似下面的事情,但它不起作用:
variable "ARM_SUBSCRIPTION_ID" {
default="$(Build.ARM_SUBSCRIPTION_ID)"
}
Run Code Online (Sandbox Code Playgroud)
不幸的是,它没有按预期工作,并在以下执行级别停止:
[0m[1m[32mTerraform has been successfully initialized![0m[32m[0m
[0m[32m
You may now begin working with Terraform. Try running "terraform plan" to see
any changes that are required for your infrastructure. All Terraform commands
should now work.
If you ever set or change modules or backend configuration for Terraform,
rerun this command to reinitialize your working directory. If you forget, other
commands will detect it and remind you to do so if necessary.[0m
[0m[1mvar.ARM_CLIENT_ID[0m
Run Code Online (Sandbox Code Playgroud)
任何帮助将不胜感激。
谢谢你。
根据Terraform 文档,您必须创建以TF_VAR_xTerraform命名的环境变量才能自动获取它们。因此,在您的构建定义中,创建一个名为TF_VAR_ARM_SUBSCRIPTION_ID. 非秘密构建变量会自动转换为环境变量。
另一个选项是通过-var 'ARM_SUBSCRIPTIONID=$(ARM_SUBSCRIPTION_ID)'在命令行上指定将变量值传递给 Terraform 脚本
| 归档时间: |
|
| 查看次数: |
6184 次 |
| 最近记录: |