VSTS: Могу ли я получить доступ к переменным сборки из определения выпуска?
В VSTS CI/CD я устанавливаю значение некоторой переменной в задаче Powershell в CI. Во время CD я хочу получить доступ к значению этой переменной, скажем, echo.
Это возможно? Если так, то как?
2 ответа
Вы можете записать его в файл json/xml и включить этот файл в опубликованные артефакты определения вашей сборки. Затем прочитайте этот файл через PowerShell в своем определении выпуска.
ConvertTo-Json | Out-File "file.json"
Get-Content "file.json" | ConvertFrom-Json
Для самого VSTS он не может сохранять переменные от сборки к выпуску.
Обходной путь - сохранить значение переменной в группе переменных и связать группу переменных с определением вашего выпуска. Подробные шаги, как показано ниже:
Во время сборки вы можете добавить группу переменных с именем
group-$(Build.BuildId)
и сохраните переменную, которую вы хотите передать в группу переменных.Во время выпуска вы можете сначала получить группы переменных и отфильтровать переменную по переменной
group-$(Build.BuildId)
, И удалите группу группы в конце выпуска.
Кроме того, если тип артефакта является сборкой для определения выпуска, вы также можете сохранить значение переменной в файле и затем опубликовать файл как артефакты сборки (как говорит Calidus).
Ознакомьтесь с инструментами переменных расширения Azure DevOps для служб Azure DevOps.
В "конвейере сборки" вы можете создать файл JSON, используя "переменные сохранения". Этот файл необходимо опубликовать как артефакт или с существующим артефактом.
В "конвейере выпуска" вы можете восстановить переменные, используя "переменные загрузки" из файла JSON.