Маркировка переменных в группах переменных как секретов делает их невидимыми

У меня есть случай, когда маркировка переменных как секретов теряет свое значение в задаче Release, пожалуйста, позвольте мне остановиться подробнее.

Ниже приведен скриншот принципала Terraform Service

Вышеуказанное работает как переменные, доступные в конвейере.

Взять сценарий, где они секретны и заперты.

Теперь запустите конвейер и он сообщит, что требуемая переменная не установлена.

Я добавил шаг для отображения этих переменных, просто чтобы посмотреть, смогу ли я их увидеть, вот задача Release:

Я "предполагаю" *** означает фактическое эхо, поэтому они произносят слово "эхо".

Не в состоянии понять, почему поведение отличается

  1. Когда в текстовом виде они доступны в конвейере
  2. Когда они помечены как секретные, они недоступны.

Как сделать их доступными в конвейере?

Обновления

делать что-то вроде этого:

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. 

1 ответ

Поэтому, если вы сделаете переменную секретной, вы не сможете получить к ней доступ напрямую из любого скрипта. То, что я делаю, - это то, что мне нужно, чтобы она расшифровывалась, - это перейти в раздел переменных среды задачи и ввести следующее.

Это расшифровывает переменную и устанавливает переменную с тем же именем, чтобы такие инструменты, как Terraform, могли получить к ней доступ.

Другие вопросы по тегам