在某些情况下,将变量标记为机密会在Release任务中失去其价值,请允许我进一步阐述。
请在下面找到Terraform Service主体的屏幕截图
以上这些作为变量可以在管道中使用。
以方案为例,其中它们是秘密的并且被锁定。
现在,运行管道并报告未设置必需的变量。
我添加了一个步骤来回显这些变量,以查看是否可以看到它们,这是Release任务:
我“假设” ***表示实际的回显,因此它们在echo语句中用词表示。
无法理解行为为何不同:
如何使它们在管道中可用?
做这样的事情:
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.