Azure Pipeline pour déclencher un Pipeline en utilisant YAML
Source : Stack Overflow [azure]
Pour le déclenchement d’un pipeline à partir d’un autre, la documentation officielle d’Azure suggère la solution ci-dessous, c’est-à-dire utiliser les déclencheurs de pipeline.
resources:
pipelines:
- pipeline: RELEASE_PIPELINE # any arbitrary name
source: PIPELINE_NAME. # name of the previous pipeline shown on azure UI portal
trigger:
branches:
include:
- dummy_branch # name of branch on which pipeline need to trigger
Mais en réalité, ce qui se passe, c’est que cela déclenche deux pipelines. Prenons un exemple : supposons que nous ayons deux pipelines A et B et que nous voulions déclencher B quand A se termine. Dans ce scénario, B s’exécute 2 fois : une fois lors du commit (en parallèle avec A) et une seconde fois après la fin de A.
Pour éviter ce problème de double exécution du pipeline, suivez la solution ci-dessous :
trigger: none # add this trigger value to none
resources:
pipelines:
- pipeline: RELEASE_PIPELINE # any arbitrary name
source: PIPELINE_NAME. # name of the pipeline shown on azure UI portal
trigger:
branches:
include:
- dummy_branch # name of branch on which pipeline need to trigger
En ajoutant trigger:none, le second pipeline ne se déclenchera pas au commit initial et ne se déclenchera que lorsque le premier aura terminé son travail.
J’espère que cela vous aidera.