В Azure Devops или TFS можно передать аргумент PowerShell, который является переменным в среде конвейера? - PullRequest
1 голос
/ 12 апреля 2019

Я пытаюсь создать группу задач, которая может использоваться взаимозаменяемо между конвейерами сборки и выпуска.

Однако у меня возникла проблема с передачей одного из аргументов моей целевой группе Powershell.

Причина этого в том, что данные аргумента, которые я пытаюсь передать, не существуютв среде Build.

- envName "$(Release.EnvironmentName)"

Например, можно ли настроить логику для отправки другой переменной, если эта группа задач выполняется в среде Build?

Есть ли способ для меняпередать этот аргумент, только если он существует?Или передать этот аргумент ИЛИ другой аргумент?

Спасибо!

1 Ответ

4 голосов
/ 15 апреля 2019

В Azure Devops или TFS возможно ли передать аргумент PowerShell, который является переменным в среде конвейера?

Боюсь, что нет такого способа, которым мы могли бы передать PowerShellАргумент, который является переменным в среде конвейера напрямую .

Но в качестве обходного пути вы можете добавить еще одну задачу powershell в вашей группе задач Powershell, чтобы задать переменную в зависимости от среды конвейера, например:

Write-Host "Current Release Name is $Env:Release_EnvironmentName"

$ReleaseName= $Env:Release_EnvironmentName

Write-Host "Current Environment Release Name is $ReleaseName"

if ($ReleaseName-eq "")
{
  Write-Host ("##vso[task.setvariable variable=envName]TestValue1")
}
else
{
  Write-Host ("##vso[task.setvariable variable=envName]TestValue2")
}

envName будетустановите другое значение на основе значения $Env:Release_EnvironmentName, мы могли бы использовать его в следующей задаче Powershell в группе задач Powershell.

Проверьте Команда ведения журнала во время сборки / выпуска длянекоторые подробности.

Надеюсь, это поможет.

...