Как работать с Null для нестандартных условий в конвейере Azure? - PullRequest
0 голосов
/ 03 июля 2019

Я считаю, что лучший способ найти переменную - это null в пользовательском условии.

Я пытался сравнить ноль. Тем не менее, Azure Pipeline жалуется, вызывает ошибку, если я настраиваю таким образом.

and(failed(), ne(variables['Some'], Null))

Кроме того, эта конфигурация не выдает ошибку, однако, когда значение «Some» равно нулю, условие становится ложным. Так как Null и 'Null' разные.

and(failed(), ne(variables['Some'], 'Null'))

Я в конце концов придумаю обходной путь. Однако это не крутой способ. Я добавляю задачу PowerShell и создаю этот скрипт.

if ($env:Some -eq $null) {
    Write-Host "##vso[task.setvariable variable=SkipSome]True"
}

затем настройте пользовательское условие

and(failed(), ne(variables['SkipSome'], 'True'))

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

1 Ответ

0 голосов
/ 04 июля 2019

Как работать с Null для пользовательского условия в конвейере Azure?

Чтобы иметь дело с Null для пользовательского условия, мы должны использовать '' вместо Null или'Null'.

Вы можете проверить String для некоторых деталей.

Итак, вы можете настроить его следующим образом:

and(failed(), ne(variables['Some'], ''))

Чтобы проверить это более интуитивно, я изменяю ne на eq:

and(failed(), eq(variables['Some'], ''))

Затем я устанавливаю переменную пустой на вкладке Переменная и добавляю встроенную задачу powershell с указанным выше условием:

enter image description here

enter image description here

В журнале видно, что задача выполнена:

enter image description here

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...