0

我在main.tf文件中声明了以下变量:

variable "TF_VAR_ARM_CLIENT_ID" {}

variable "TF_VAR_ARM_CLIENT_SECRET" {}

variable "TF_VAR_ARM_SUBSCRIPTION_ID" {}

variable "TF_VAR_ARM_TENANT_ID" {}

我在 Azure Release Pipelines 中创建了这些变量,并将其定义为可供所有管道访问,如下所示:

在此处输入图像描述

我无法理解为什么 Release Job 会报告未设置这些变量的原因:

2019-03-06T00:24:27.8892810Z Error: Required variable not set: TF_VAR_ARM_SUBSCRIPTION_ID
2019-03-06T00:24:27.8899867Z 
2019-03-06T00:24:27.8899984Z 
2019-03-06T00:24:27.8900027Z 
2019-03-06T00:24:27.8900136Z Error: Required variable not set: TF_VAR_ARM_TENANT_ID
2019-03-06T00:24:27.8900190Z 
2019-03-06T00:24:27.8900227Z 
2019-03-06T00:24:27.8900403Z 
2019-03-06T00:24:27.8900489Z Error: Required variable not set: TF_VAR_ARM_CLIENT_SECRET
2019-03-06T00:24:27.8900540Z 
2019-03-06T00:24:27.8900592Z 
2019-03-06T00:24:27.8900627Z 
2019-03-06T00:24:27.8900692Z Error: Required variable not set: TF_VAR_ARM_CLIENT_ID

我试图在 terraform 计划之前添加一个命令行,如下所示,

echo $TF_VAR_ARM_SUBSCRIPTION_ID

echo $TF_VAR_ARM_TENANT_ID

echo $TF_VAR_ARM_CLIENT_SECRET

echo $TF_VAR_ARM_CLIENT_ID

不幸的是,我没有看到执行中的值,

2019-03-06T00:52:11.4389621Z ##[command]"C:\windows\system32\cmd.exe" /D /E:ON /V:OFF /S /C "CALL "d:\a\_temp\ed34e1a6-ccc4-4168-a15b-3bd5e273d9e7.cmd""
2019-03-06T00:52:11.4490377Z $TF_VAR_ARM_SUBSCRIPTION_ID
2019-03-06T00:52:11.4491943Z $TF_VAR_ARM_TENANT_ID
2019-03-06T00:52:11.4493642Z $TF_VAR_ARM_CLIENT_SECRET
2019-03-06T00:52:11.4495118Z $TF_VAR_ARM_CLIENT_ID

我尝试了两种方法,首先将其设为机密,然后定义值,还首先定义值,然后将其设为机密,但错误仍然存​​在。

知道可能是什么问题吗?

4

1 回答 1

1

您需要使用发布变量部分将变量组链接到发布。

在此处输入图像描述

现在你的变量组只是存在,但没有被使用。

于 2019-03-06T06:40:48.353 回答