Триггер конвейера DevOps срабатывает несколько раз для одной сборки из исходного конвейера (иногда)

#azure #yaml #azure-pipelines #devops

Вопрос:

У нас есть следующий набор кода yml для одного из наших конвейеров, который я буду называть конвейером B:

 resources:
  pipelines:
    - pipeline: pipeline a
      source: Pipeline A
      branch: master
      trigger:
        branches:
          include:
            - refs/heads/master
            - refs/heads/dev/*
            - refs/heads/feature/*
            - refs/heads/release/*
          exclude:
            - release/v1
        stages:
          #Trigger installer on completion of all stages
          - Stage1
          - Stage2
          - Stage3
          - Stage4
    - pipeline: OtherPipeline1
      source: pipeline1
      branch: master
    - pipeline: OtherPipeline2
      source: pipeline2
      branch: master
    - pipeline: OtherPipeline3
      source: pipeline3
      branch: master
    - pipeline: OtherPipeline4
      source: pipeline4
      branch: master
    - pipeline: OtherPipeline5
      source: pipeline5
      branch: master

trigger: none
pr: none
 

Как вы можете видеть из кода, конвейер B запускается некоторыми включенными ветвями и требованием завершения некоторых этапов для конвейера A.

По какой-то причине трубопровод B периодически запускается три раза подряд триггером трубопровода из трубопровода A.

Мы добавили некоторые записи в конвейер B, чтобы проверить, что вызывало эти дополнительные вызовы, и это то, что мы получили для каждого экземпляра:

Исходная ветвь: ссылки/руководители/мастер

Имя ветви источника: master

Псевдоним запуска: конвейер a

Категория триггера: конвейер

Причина сборки: ResourceTrigger

Это происходит не каждый раз, что затрудняет отслеживание. Каждая сборка, выполняемая в конвейере B, выполняется с разными интервалами

в нашем последнем случае произошли следующие сборки (когда никого не было на работе):

  • Первый автоматический запуск конвейера: 7:09 вечера
  • Второй автоматический запуск конвейера: 7:13 вечера
  • Третий автоматический запуск конвейера: 8:32 вечера

Есть ли что-то в нашем коде yaml, что могло бы привести к срабатыванию трех триггеров конвейера в разное время?

Текущая теория (Исследование):

Прямо сейчас у нас есть другие этапы, помимо четырех, перечисленных в yaml, которые продолжают выполняться после завершения остальных в трубопроводе A (и последующего запуска трубопровода B). Я думаю, что те, кто завершает, повторно запускают триггер конвейера после их успешного завершения и вызывают дополнительные сборки в конвейере B

Комментарии:

1. Можете ли вы увидеть под запуском конвейера, как сообщается о срабатывании?