Вход addSpnToEnvironment
, который добавляет идентификатор субъекта службы и ключ конечной точки Azure, выбранной вами в контексте сценария, - это один параметр, доступный только в Azure ClI Task , но не Azure Задача Powershell .
Есть ли способ получить эту информацию в задаче Azure Powershell?
В качестве альтернативного обходного пути мы можем определите переменные в задании в Azure ClI Task
, отметьте этот документ .
Шаги для проверки:
1.Используйте последнюю версию Azure CLI task
2.0-preview и выберите Powershell type. Попробуйте встроенный скрипт следующим образом:
Write-Host "##vso[task.setvariable variable=SpId;]$env:servicePrincipalId"
Write-Host "##vso[task.setvariable variable=SpKey;]$env:servicePrincipalKey"
Write-Host "##vso[task.setvariable variable=TenantId;]$env:tenantId"
Write-Host "##vso[task.setvariable variable=TestVar;]JustForTest"
2. Затем добавьте один Azure Powershell task
после Azure CLI Task
для проверки:
Write-Host $env:SpId
Write-Host $env:SpKey
Write-Host $env:TenantId
Write-Host $env:TestVar
3. Выход:
Итак, если вы определяете переменные области задания с помощью Write-Host "##vso[task.setvariable variable=xxx]xxx"
(Powershell) или echo "##vso[task.setvariable variable=xxx]xxx"
(Пакет), вы можете использовать что-то вроде $env:VariableName
для доступа к Информация. ***
в журнале объясняется тем, что это секреты, спроецированные Azure Devops, поэтому они маскируются.