#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. Можете ли вы увидеть под запуском конвейера, как сообщается о срабатывании?