Есть ли в Azure DevOps переменная, чтобы проверить, происходит ли сборка из стробированной регистрации? - PullRequest
1 голос
/ 22 мая 2019

У меня есть два определения сборки в DevOps Azure, одно для закрытой регистрации и одно для непрерывной интеграции в выпуск.Я хочу использовать одно определение сборки для запуска нашего GCI и нашей сборки CI, поэтому мне не нужно поддерживать два отдельных определения сборки с аналогичной настройкой, разборкой и т. Д.

Есть ли переменная, которую я могу проверить в AzureDevOps, когда сборка ставится в очередь, чтобы определить, инициирована ли сборка PR для GCI или нет?Если есть лучший способ все уши.

Ответы [ 2 ]

0 голосов
/ 23 мая 2019

Я думаю, что вы можете использовать предопределенную переменную с именем Build.Reason.

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

Например, если формат числа вашей сборки равен $ (date: yyyyMMdd) $ (Build.Reason), то в вашей сборке # будет отображаться 20190523PullRequest или другой формат, соответствующий определению переменных.

Надеюсь, это поможет тебе, хорошего дня.

0 голосов
/ 23 мая 2019

Да! есть переменная Build.Reason:

IndividualCI: Непрерывная интеграция (CI), инициированная Git push или регистрацией TFVC.

BatchedCI: Непрерывная интеграция (CI), инициированная Git-push или регистрацией TFVC, и выбран пакетный режим изменений.

CheckInShelveset: Закрытый триггер регистрации.

Таким образом, вы можете в задаче сборки добавить условие для запуска только сборки, например, GCI / CI (запускать, только если сборка является CI):

and(succeeded(), in(variables['Build.Reason'], 'IndividualCI', 'BatchedCI'))
...