Как отличить триггер ветвления от запланированного триггера в azure конвейере сборки DevOps - PullRequest
0 голосов
/ 19 апреля 2020

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

branch trigger => run job 1

scheduled trigger => run job 2

Есть ли способ различать триггеры ? Так что я буду выполнять свою работу в соответствии с этим дифференцирующим условием.

Мой мыслительный процесс

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

# Sample azure-build-pipeline.yml file


variables:

# by default the variable is false
  isScheduledTrigger: false


trigger:
  - develop
  - master

schedules:
  - cron: "0 0 * * *"
    displayName: Daily midnight build
    branches:
      include:
        - develop
    always: true
# somewhere here i want to set the isScheduledTrigger variable to TRUE

jobs:
 - job: Branch trigger job
   condition: or(eq(variables['Build.SourceBranchName'], 'develop'),eq(variables['Build.SourceBranchName'], 'master'))
   steps:
# Multiple steps for branch trigger



- job: Scheduled trigger job
   condition: and(eq(variables['Build.SourceBranchName'], 'develop'),eq(variables['isScheduledTask'], True))
   steps:
# Multiple steps for scheduled trigger


1 Ответ

1 голос
/ 19 апреля 2020

Вы можете различить тип триггера, используя переменную с именем Reason

condition: and(succeeded(), and(not(eq(variables['Build.Reason'], 'PullRequest')), not(eq(variables['Build.Reason'], 'Schedule'))))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...