Конвейер выпуска DevOps Azure - как задать и передать значения в переменные в конвейере с помощью Azure Powershell - PullRequest
0 голосов
/ 22 октября 2019

С помощью конвейера выпуска Azure в задаче, использующей сценарий PowerShell, я могу установить значения переменных и перейти к следующей задаче с помощью команды

Write-Host '##vso[task.setvariable variable=varResourceExists;isOutput=true;something'

Однако, когда я помещаю эту похожую команду вДля задачи, в которой используется Azure PowerShell, эта команда больше не разрешена, задача выдает предупреждение:

2019-10-22T00: 23: 14.3080614Z ## [warning] '## vso [task.setvariable variable = varResourceExists; isOutput = true; что-то 'содержит ключевое слово команды ведения журнала' ## vso ', но это недопустимая команда. Пожалуйста, посмотрите список принятых команд: https://go.microsoft.com/fwlink/?LinkId=817296

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

$varResourceExists = 'something'; # this also does not work

Есть ли способ установить это значение в сценарии Azure Powershell, чтобы следующая задача могла ссылаться на него?

Ответы [ 2 ]

2 голосов
/ 22 октября 2019

##vso[task.setvariable variable=varResourceExists;isOutput=true;something неверный синтаксис. Вы пропускаете закрывающий ].

Должно быть ##vso[task.setvariable variable=varResourceExists;isOutput=true;]something

0 голосов
/ 04 ноября 2019

Вот как я решил свою тему. В конвейерной задаче PowerShell Azure у меня может быть такой код, как Write-Host '##vso[task.setvariable variable=varResourceExists;isOutput=true;]False';

. В параметре «Выходная переменная» я задаю справочное имя «step1»: Выходная переменная Затем на следующем шагеЯ могу выполнить условную проверку, используя пользовательское условие: Пользовательское условие

Я также могу ссылаться на переменную в своем коде, например Write-Host "The step1.varResourceExists says: $(step1.varResourceExists)";

...