У меня есть конвейер сборки Azure DevOps, в котором есть два отдельных сценария PowerShell.В первом сценарии я получаю значение из XML-файла и задаю его в переменной среды.Во втором сценарии я хочу использовать значение в переменной окружения.К сожалению, я не вижу установки переменной окружения.В настоящее время у меня есть:
Скрипт 1:
$myXml = [xml](Get-Content ./MyXml.xml)
$departmentId = $myXml.Department.Id
Write-Host ##vso[task.setvariable variable=DepartmentId;]$departmentId
Write-Host "Set environment variable to ($env:DepartmentId)"
Get-ChildItem Env:
Write-Host "Department Id ($departmentId)"
Когда скрипт 1 запускается, я вижу:
Set environment variable to ()
[All of the environment variable BUT, I DO NOT SEE ONE NAMED "DepartmentId"]
Department Id (1)
Примечание:1) Значение $env:DepartmentId
не печатается в операторе «Задать переменную среды» и 2) Значение DepartmentId
НЕ указано в списке переменных среды.Я намерен использовать DepartmentId
во втором скрипте, который выглядит следующим образом:
Скрипт 2:
Write-Host "Using Department: $(env:DepartmentId)"
В настоящее время скрипт просто показывает:
env:DepartmentId : The term 'env:DepartmentId' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.
Я видел другие связанные вопросы SO и просмотрел документы.Тем не менее, это просто не работает.Я не понимаю, что я делаю не так.Может кто-нибудь показать мне, как это исправить и объяснить, что я делаю не так?Спасибо!