Notes
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Un déclencheur planifié spécifie une planification sur laquelle les branches sont générées.
schedules:
- cron: string # Required as first property. Cron syntax defining a schedule in UTC time.
displayName: string # Optional friendly name given to a specific schedule.
branches: # Branch names to include or exclude for triggering a run.
include: [ string ] # List of items to include.
exclude: [ string ] # List of items to exclude.
batch: boolean # Whether to run the pipeline if the previously scheduled run is in-progress; the default is false.
always: boolean # Whether to always run the pipeline or only if there have been source code or pipeline settings changes since the last successful scheduled run. The default is false.
schedules:
- cron: string # Required as first property. Cron syntax defining a schedule in UTC time.
displayName: string # Optional friendly name given to a specific schedule.
branches: # Branch names to include or exclude for triggering a run.
include: [ string ] # List of items to include.
exclude: [ string ] # List of items to exclude.
always: boolean # Whether to always run the pipeline or only if there have been source code or pipeline settings changes since the last successful scheduled run. The default is false.
Définitions qui font référence à cette définition : planifications
Propriétés
chaîne cron
. Obligatoire en tant que première propriété.
syntaxe Cron définissant une planification en heure UTC.
chaîne displayName
.
nom convivial facultatif donné à une planification spécifique.
branches
includeExcludeFilters.
noms de branche à inclure ou exclure pour déclencher une exécution.
batch
booléen .
La propriété batch
configure s’il faut exécuter le pipeline si l’exécution planifiée précédemment est en cours. Lorsque batch
est true
, une nouvelle exécution de pipeline ne démarre pas en raison de la planification si une exécution de pipeline précédente est toujours en cours. La valeur par défaut est false
.
La propriété batch
est affectée par le paramètre de la propriété always
. Lorsque always
est true
, le pipeline s’exécute en fonction de la planification cron, même quand batch
est true
et qu’il existe une exécution en cours.
Toujours | Lot | Comportement |
---|---|---|
false |
false |
Le pipeline s’exécute uniquement s’il existe une modification par rapport à la dernière exécution planifiée réussie du pipeline. |
false |
true |
Le pipeline s’exécute uniquement s’il existe une modification par rapport à la dernière exécution planifiée du pipeline, et qu’il n’y a pas d’exécution de pipeline planifiée en cours. |
true |
false |
Le pipeline s’exécute en fonction de la planification cron. |
true |
true |
Le pipeline s’exécute en fonction de la planification cron, même s’il existe une exécution en cours. |
always
booléen .
s’il faut toujours exécuter le pipeline ou uniquement s’il y a eu des modifications de code source depuis la dernière exécution planifiée réussie ; la valeur par défaut est false.
Remarques
Si vous spécifiez aucun déclencheur planifié, aucune build planifiée ne se produit.
Remarque
Si vous spécifiez une clause exclude
sans clause include
pour branches
, elle équivaut à spécifier *
dans la clause include
.
Important
Les déclencheurs planifiés définis à l’aide de l’interface utilisateur des paramètres de pipeline sont prioritaires sur les déclencheurs planifiés YAML.
Si votre pipeline YAML comporte à la fois des déclencheurs planifiés YAML et des déclencheurs planifiés définis par l’interface utilisateur, seuls les déclencheurs planifiés définis par l’interface utilisateur sont exécutés. Pour exécuter les déclencheurs planifiés définis par YAML dans votre pipeline YAML, vous devez supprimer les déclencheurs planifiés définis dans l’interface utilisateur des paramètres de pipeline. Une fois que tous les déclencheurs planifiés d’interface utilisateur sont supprimés, un push doit être effectué pour que les déclencheurs planifiés YAML commencent à être évalués.
Pour supprimer des déclencheurs planifiés d’interface utilisateur à partir d’un pipeline YAML, consultez paramètres de l’interface utilisateur remplacent les déclencheurs planifiés YAML.
Variable Build.CronSchedule.DisplayName
Lorsqu’un pipeline s’exécute en raison d’un déclencheur planifié cron, la variable Build.CronSchedule.DisplayName
prédéfinie contient la displayName
de la planification cron qui a déclenché l’exécution du pipeline.
Votre pipeline YAML peut contenir plusieurs planifications cron et vous souhaiterez peut-être que votre pipeline exécute différentes étapes ou travaux en fonction des exécutions de planification cron. Par exemple, vous disposez d’une build nocturne et d’une build hebdomadaire, et vous souhaitez exécuter une certaine étape uniquement pendant la génération nocturne. Vous pouvez utiliser la variable Build.CronSchedule.DisplayName
dans une condition de travail ou d’étape pour déterminer s’il faut exécuter ce travail ou cette étape.
- stage: stage1
# Run this stage only when the pipeline is triggered by the
# "Daily midnight build" cron schedule
condition: eq(variables['Build.CronSchedule.DisplayName'], 'Daily midnight build')
Pour plus d’exemples, consultez la section Exemples suivants.
Exemples
L’exemple suivant définit deux planifications.
La première planification, build Daily minuit, exécute un pipeline à minuit tous les jours uniquement si le code a changé depuis la dernière exécution planifiée réussie.
Il exécute le pipeline pour main
et toutes les branches releases/*
, à l’exception de ces branches sous releases/ancient/*
.
La deuxième planification, build hebdomadaire dimanche, exécute un pipeline à midi le dimanche pour toutes les branches releases/*
.
Il le fait indépendamment de la modification du code depuis la dernière exécution.
schedules:
- cron: '0 0 * * *'
displayName: Daily midnight build
branches:
include:
- main
- releases/*
exclude:
- releases/ancient/*
- cron: '0 12 * * 0'
displayName: Weekly Sunday build
branches:
include:
- releases/*
always: true
Pour exécuter de manière conditionnelle une étape ou un travail selon qu’il a été planifié par un déclencheur planifié, utilisez la variable Build.CronSchedule.DisplayName
dans une condition. Dans cet exemple, stage1
s’exécute uniquement si le pipeline a été déclenché par la planification Daily midnight build
et job3
s’exécute uniquement si le pipeline a été déclenché par la planification Weekly Sunday build
.
stages:
- stage: stage1
# Run this stage only when the pipeline is triggered by the
# "Daily midnight build" cron schedule
condition: eq(variables['Build.CronSchedule.DisplayName'], 'Daily midnight build')
jobs:
- job: job1
steps:
- script: echo Hello from Stage 1 Job 1
- stage: stage2
dependsOn: [] # Indicate this stage does not depend on the previous stage
jobs:
- job: job2
steps:
- script: echo Hello from Stage 2 Job 2
- job: job3
# Run this job only when the pipeline is triggered by the
# "Weekly Sunday build" cron schedule
condition: eq(variables['Build.CronSchedule.DisplayName'], 'Weekly Sunday build')
steps:
- script: echo Hello from Stage 2 Job 3
Voir aussi
- En savoir plus sur les déclencheurs planifiés .
- En savoir plus sur déclencheurs en général et comment les spécifier.