تعريف schedules.cron
يحدد المشغل المجدول جدولا يتم بناء الفروع عليه.
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.
التعريفات التي تشير إلى هذا التعريف: الجداول
الخصائص
cron
سلسله. مطلوب كخاصية أولى.
بناء جملة Cron الذي يحدد جدولا زمنيا في التوقيت العالمي المتفق عليه.
displayName
سلسله.
اسم مألوف اختياري معطا لجدول زمني محدد.
branches
includeExcludeFilters.
أسماء الفروع المراد تضمينها أو استبعادها لتشغيل تشغيل.
batch
منطقي.
ما إذا كان سيتم تشغيل البنية الأساسية لبرنامج ربط العمليات التجارية إذا كان التشغيل المجدول مسبقا قيد التقدم؛ الافتراضي هو false
. هذا بغض النظر عن إصدار مستودع البنية الأساسية لبرنامج ربط العمليات التجارية.
يصف الجدول التالي كيفية always
التفاعل.batch
دائماً | دُفعة | السلوك |
---|---|---|
false |
false |
يتم تشغيل البنية الأساسية لبرنامج ربط العمليات التجارية فقط إذا كان هناك تغيير فيما يتعلق بآخر تشغيل ناجح للبنية الأساسية لبرنامج ربط العمليات التجارية المجدولة. |
false |
true |
يتم تشغيل البنية الأساسية لبرنامج ربط العمليات التجارية فقط إذا كان هناك تغيير فيما يتعلق بآخر تشغيل ناجح للبنية الأساسية لبرنامج ربط العمليات التجارية المجدولة، ولا يوجد تشغيل مسار مجدول قيد التقدم. |
true |
false |
تعمل البنية الأساسية لبرنامج ربط العمليات التجارية وفقا لجدول cron. |
true |
true |
تعمل البنية الأساسية لبرنامج ربط العمليات التجارية وفقا لجدول cron. |
هام
عندما always
يكون ، true
يتم تشغيل البنية الأساسية لبرنامج ربط العمليات التجارية وفقا لجدول cron، حتى عندما batch
يكون true
.
always
منطقي.
ما إذا كنت تريد دائما تشغيل البنية الأساسية لبرنامج ربط العمليات التجارية أو فقط إذا كانت هناك تغييرات في التعليمات البرمجية المصدر منذ آخر تشغيل مجدول ناجح؛ الافتراضي هو خطأ.
الملاحظات
إذا قمت بتحديد أي مشغل مجدول، فلن تحدث أي بنيات مجدولة.
ملاحظة
إذا قمت بتحديد عبارة exclude
بدون عبارة ل branches
، فهذا يعادل التحديد *
في العبارة include
include
.
هام
المشغلات المجدولة المعرفة باستخدام إعدادات البنية الأساسية لبرنامج ربط العمليات التجارية لها الأسبقية على المشغلات المجدولة YAML.
إذا كان مسار YAML يحتوي على كل من مشغلات YAML المجدولة والمشغلات المجدولة المعرفة من واجهة المستخدم، يتم تشغيل المشغلات المجدولة المعرفة بواسطة واجهة المستخدم فقط. لتشغيل المشغلات المجدولة المعرفة من YAML في البنية الأساسية لبرنامج ربط العمليات التجارية YAML، يجب إزالة المشغلات المجدولة المحددة في واجهة مستخدم إعدادات البنية الأساسية لبرنامج ربط العمليات التجارية. بمجرد إزالة جميع المشغلات المجدولة لواجهة المستخدم، يجب إجراء دفع من أجل بدء تقييم المشغلات المجدولة YAML.
لحذف المشغلات المجدولة لواجهة المستخدم من مسار YAML، راجع تجاوز إعدادات واجهة المستخدم للمشغلات المجدولة YAML.
متغير Build.CronSchedule.DisplayName
عند تشغيل البنية الأساسية لبرنامج ربط العمليات التجارية بسبب مشغل مجدول cron، يحتوي المتغير المحدد Build.CronSchedule.DisplayName
مسبقا على displayName
جدول cron الذي أدى إلى تشغيل المسار.
قد يحتوي مسار YAML الخاص بك على جداول cron متعددة، وقد ترغب في تشغيل البنية الأساسية لبرنامج ربط العمليات التجارية الخاصة بك لمراحل أو مهام مختلفة بناء على جدول cron الذي يتم تشغيله. على سبيل المثال، لديك بناء ليلي وبناء أسبوعي، وتريد تشغيل مرحلة معينة فقط أثناء الإنشاء الليلي. يمكنك استخدام Build.CronSchedule.DisplayName
المتغير في حالة مهمة أو مرحلة لتحديد ما إذا كنت تريد تشغيل هذه المهمة أو المرحلة.
- 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')
لمزيد من الأمثلة، راجع قسم الأمثلة التالية.
أمثلة
يحدد المثال التالي جدولين.
يقوم الجدول الأول، بناء منتصف الليل اليومي، بتشغيل البنية الأساسية لبرنامج ربط العمليات التجارية في منتصف الليل كل يوم فقط إذا تغيرت التعليمات البرمجية منذ آخر تشغيل مجدول ناجح.
يقوم بتشغيل البنية الأساسية لبرنامج ربط العمليات التجارية لجميع main
releases/*
الفروع، باستثناء تلك الفروع ضمن releases/ancient/*
.
يقوم الجدول الثاني، إصدار الأحد الأسبوعي، بتشغيل البنية الأساسية لبرنامج ربط العمليات التجارية في ظهر أيام الأحد لجميع releases/*
الفروع.
يقوم بذلك بغض النظر عما إذا كانت التعليمات البرمجية قد تغيرت منذ آخر تشغيل.
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
لتشغيل مرحلة أو مهمة بشكل مشروط استنادا إلى ما إذا كان قد تمت جدولتها بواسطة مشغل مجدول، استخدم Build.CronSchedule.DisplayName
المتغير في شرط. في هذا المثال، stage1
يتم تشغيل فقط إذا تم تشغيل المسار بواسطة Daily midnight build
الجدول الزمني، ويتم job3
تشغيله فقط إذا تم تشغيل البنية الأساسية لبرنامج ربط العمليات التجارية بواسطة 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
راجع أيضًا
- تعرف على المزيد حول المشغلات المجدولة.
- تعرف على المزيد حول المشغلات بشكل عام وكيفية تحديدها.