Я установил переменную карты (строки) в terraform. и определил их в конвейере Azure YAML. я хочу получить значение для этой переменной YAML из группы переменных в Azure DevOps. если я даю прямое значение для ключа, он работает, как и ожидалось. но при попытке получить доступ к значению из групп переменных я получаю ошибки.
Определенная переменная в Terraform:
Variables.tf
variable "secrets" {
type = map(string)
}
variables.tfvars
secrets = $(secrets)
in YAML pipeline:
displayName: DEV
variables:
- group: 'Environment - Dev'
- name: secrets
value: '{"testAPIKey1" = $(testAPIKey1) , "testAPIKey2" = $(testAPIKey2) }'
Я получал ошибку, как показано ниже
Expected a closing parenthesis to terminate the expression. ##\[error\]Terraform command 'plan' failed with exit code '1'.: Unbalanced parentheses
\##\[error\]
Error: Unbalanced parentheses
Может кто-нибудь предложить, пожалуйста, как я могу получить доступ к значениям из групп переменных в переменные YAML.
Значения группы переменных еще недоступны, когда установлена вторая переменная. Конвейеры yaml следуют довольно непрозрачному многоэтапному порядку синтаксического анализа, преобразования и выполнения.
Вы можете использовать задачу сценария или мою задачу установки переменных, чтобы установить значение второй переменной во время выполнения задания.
https://marketplace.visualstudio.com/items?itemName=jessehouwing.jessehouwing-vsts-variable-tasks
Смотрите также: https://stackoverflow.com/a/74788506/736079