Как вывести выходной файл terraform в Azure DevOps в конвейере выпуска

Как вывести выходной файл Terraform в Azure DevOps в конвейере выпуска. Я использую задачу Run Terraform в конвейере выпуска. У меня есть выходной файл в Repo, который выводит общедоступные IP-адреса. Я хочу сохранить его как переменную, которую можно использовать в дальнейших задачах.


person Abhishek Singh    schedule 27.02.2020    source источник


Ответы (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
comment
Спасибо за ответ @Hugh Lin - MSFT - какие будут имена переменных в этом случае? - person Renm; 02.03.2020
comment
Имя переменной $($prop.Name), которое определено в setvariable. - person Hugh Lin; 02.03.2020
comment
@Abhishek Singh Если это решение полезно для вас, не могли бы вы принять его в качестве ответа? Чтобы принять ответ, нажмите кнопку с галочкой под кнопками голосования. Просмотрите это изображение. Это поможет другим участникам, столкнувшимся с той же проблемой, легко найти решение. Хорошего дня :) - person Hugh Lin; 04.03.2020