schedules.cron definíció
Az ütemezett eseményindító meghatározza az ágak felépítésének ütemezését.
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 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 changes since the last successful scheduled run; the default is false.
A definícióra hivatkozó definíciók: ütemezések
Tulajdonságok
cron
Karakterlánc. Első tulajdonságként kötelező megadni.
Cron-szintaxis, amely utc-időpontban határozza meg az ütemezést.
displayName
Karakterlánc.
Egy adott ütemezésnek adott rövid név nem kötelező.
branches
includeExcludeFilters.
Futtatás indításához belefoglalandó vagy kizárandó ágnevek.
batch
logikai érték.
A folyamat futtatása, ha a korábban ütemezett futtatás folyamatban van; az alapértelmezett érték a .false
Ez a folyamat adattárának verziójától függetlenül történik.
Az alábbi táblázat bemutatja, hogyan és batch
hogyan always
működik együtt.
Mindig | Batch | Működés |
---|---|---|
false |
false |
A folyamat csak akkor fut, ha az utolsó sikeres ütemezett folyamatfuttatáshoz képest változás történt. |
false |
true |
A folyamat csak akkor fut, ha az utolsó sikeres ütemezett folyamatfuttatáshoz képest változás történt, és nincs folyamatban lévő ütemezett folyamatfuttatás. |
true |
false |
A folyamat a cron ütemezésének megfelelően fut. |
true |
true |
A folyamat a cron ütemezésének megfelelően fut. |
Fontos
Ha always
az , true
a folyamat a cron ütemezése szerint fut, még akkor is, ha batch
az true
.
always
logikai érték.
Azt határozza meg, hogy mindig futtassa-e a folyamatot, vagy csak akkor, ha a legutóbbi sikeres ütemezett futtatás óta módosult a forráskód; az alapértelmezett érték hamis.
Megjegyzések
Ha nem ad meg ütemezett eseményindítót, nem történik ütemezett build.
Megjegyzés
Ha a exclude
záradék nélkül branches
include
a záradékot adja meg, az egyenértékű a include
záradékban való megadásával*
.
Fontos
A folyamatbeállítások felhasználói felületén definiált ütemezett eseményindítók elsőbbséget élveznek a YAML ütemezett eseményindítóival szemben.
Ha a YAML-folyamatban ütemezett YAML-triggerek és a felhasználói felületen meghatározott ütemezett triggerek is vannak, akkor csak a felhasználói felületen meghatározott ütemezett triggerek futnak. Ahhoz, hogy az ütemezett YAML-triggerek fussanak a YAML-folyamatban, el kell távolítani a folyamatbeállítások felhasználói felületén definiált ütemezett triggereket. Az összes felhasználói felület ütemezett eseményindítójának eltávolítása után leküldést kell végezni a YAML ütemezett eseményindítóinak kiértékeléséhez.
Ha törölni szeretné a felhasználói felület ütemezett eseményindítóit egy YAML-folyamatból, tekintse meg a felhasználói felület beállításainak a YAML ütemezett eseményindítóinak felülbírálását ismertető cikket.
Build.CronSchedule.DisplayName változó
Ha egy folyamat cron ütemezett eseményindító miatt fut, az előre definiált Build.CronSchedule.DisplayName
változó tartalmazza a displayName
folyamatfuttatást kiváltó cron-ütemezést.
A YAML-folyamat több cron-ütemezést is tartalmazhat, és előfordulhat, hogy azt szeretné, hogy a folyamat különböző fázisokat vagy feladatokat futtasson a cron-ütemezések alapján. Van például egy éjszakai és egy heti buildje, és csak az éjszakai build alatt szeretne futtatni egy bizonyos szakaszt. A változót Build.CronSchedule.DisplayName
egy feladatban vagy fázisfeltételben használhatja annak meghatározására, hogy az adott feladatot vagy szakaszt szeretné-e futtatni.
- 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')
További példákért tekintse meg a következő Példák szakaszt .
Példák
Az alábbi példa két ütemezést határoz meg.
Az első ütemezés, a Napi éjfél build csak akkor futtat minden nap éjfélkor egy folyamatot, ha a kód az utolsó sikeres ütemezett futtatás óta megváltozott.
Futtatja a folyamatot main
és az összes releases/*
ágat, kivéve azokat az ágakat a alatt releases/ancient/*
.
A második ütemezés, a Heti vasárnap build vasárnap délben futtat egy folyamatot az összes releases/*
ághoz.
Ez függetlenül attól, hogy a kód megváltozott-e az utolsó futtatás óta.
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
Ha feltételesen szeretne futtatni egy fázist vagy feladatot attól függően, hogy egy ütemezett eseményindító ütemezte-e, használja a Build.CronSchedule.DisplayName
változót egy feltételben. Ebben a példában csak akkor fut, stage1
ha a folyamatot az Daily midnight build
ütemezés aktiválta, és job3
csak akkor, ha a folyamatot az Weekly Sunday build
ütemezés aktiválta.
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
Lásd még
- További információ az ütemezett eseményindítókról.
- További információ az eseményindítókról és azok megadásáról.
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: