我有一个案例,将变量标记为机密在发布任务中失去了价值,请允许我进一步详细说明。
请在下面找到 Terraform 服务主体的屏幕截图
上述一个作为变量在管道中可用。
以他们是秘密和锁定的场景为例。
现在,运行管道,它报告未设置所需的变量。
我添加了一个步骤来回显这些变量,只是为了看看我是否能看到它们,这里是 Release 任务:
我“假设” *** 表示实际的回声,所以他们在回声语句中用词。
无法理解为什么行为不同:
- 在纯文本中,它们在管道中可用
- 当标记为机密时,它们不可用。
如何使它们在管道中可用?
更新
做这样的事情:
Terraform plan -out main.plan -var "ARM_SUBSCRIPTION_ID=$(TF_VAR_ARM_SUBSCRIPTION_ID)" "ARM_CLIENT_ID=$(TF_VAR_ARM_CLIENT_ID)" "ARM_CLIENT_SECRET=$(TF_VAR_ARM_CLIENT_SECRET)" "ARM_TENANT_ID=$(TF_VAR_ARM_TENANT_ID)" It reports: 2019-03-07T00:21:19.7692360Z ##[command]"terraform" plan -out main.plan -var "ARM_SUBSCRIPTION_ID=***" "ARM_CLIENT_ID=***" "ARM_CLIENT_SECRET=***" "ARM_TENANT_ID=***" -input=false -no-color
得到错误
2019-03-07T00:21:19.8504985Z Too many command line arguments. Configuration path expected.