Как вывести выходной файл Terraform в Azure DevOps в конвейере выпуска. Я использую задачу Run Terraform в конвейере выпуска. У меня есть выходной файл в Repo, который выводит общедоступные IP-адреса. Я хочу сохранить его как переменную, которую можно использовать в дальнейших задачах.
Как вывести выходной файл terraform в Azure DevOps в конвейере выпуска
Ответы (1)
Для этой проблемы это можно сделать с помощью простого вывода и сценария PowerShell:
1.Укажите выходную переменную из задачи terraform
2. Создайте в своем выпуске шаг PowerShell и вставьте следующий скрипт:
$json = Get-Content $env:jsonPath | Out-String | ConvertFrom-Json
foreach($prop in $json.psobject.properties) {
Write-Host("##vso[task.setvariable variable=$($prop.Name);]$($prop.Value.value)")
}
Это автоматически создаст переменную для каждого вывода, предоставленного сценарием terraform
.
Убедитесь, что вы указали переменную среды jsonPath следующим образом:
Вот ссылка на вы можете сослаться на.
person
Hugh Lin
schedule
28.02.2020
Спасибо за ответ @Hugh Lin - MSFT - какие будут имена переменных в этом случае?
- person Renm; 02.03.2020
Имя переменной
$($prop.Name)
, которое определено в setvariable
.
- person Hugh Lin; 02.03.2020
@Abhishek Singh Если это решение полезно для вас, не могли бы вы принять его в качестве ответа? Чтобы принять ответ, нажмите кнопку с галочкой под кнопками голосования. Просмотрите это изображение. Это поможет другим участникам, столкнувшимся с той же проблемой, легко найти решение. Хорошего дня :)
- person Hugh Lin; 04.03.2020