انتقل إلى المحتوى
مولد تعبيرات الكرون

صيغة كرون Jenkins

مولد تعبيرات كرون لـ Jenkins

أنشئ جداول «Build periodically» و«Poll SCM» ومشغّل cron في ملف Jenkinsfile. يستخدم Jenkins حقول كرون لينكس الخمسة مع الرمز H الذي يمنح كل مهمة دقيقة (أو ساعة) ثابتة خاصة بها، حتى لا تبدأ مئات المهام في اللحظة نفسها.

مفسّر ومولّد تعبيرات الكرون

الصيغة
صالح

5 حقول مثل كرون لينكس، مع الرمز H لتوزيع المهام: H/15 وH(0-7). تعمل الاختصارات مثل @daily.

English

At a fixed minute chosen by Jenkins, between 2:00 AM and 2:59 AM, Monday through Friday.

العربية

عند دقيقة ثابتة يختارها Jenkins، بين 2:00 ص و2:59 ص، من الإثنين إلى الجمعة.

    قوالب جاهزة

    المولّد المرئي للكرون

    اختر الإعدادات لكل حقل، وسيتحدّث التعبير في الأعلى فورًا.

    مواعيد التنفيذ الخمسة القادمة

    بتوقيتك المحلي:

      مرجع سريع

      *
      أي قيمة
      ,
      قائمة قيم — 1,15,30
      -
      نطاق — 1-5
      /
      خطوة — */10
      ?
      بلا قيمة محددة (حقول الأيام)
      @daily
      اختصار لـ 0 0 * * *
      H
      قيمة يختارها Jenkins — H/15

      صيغة كرون في Jenkins

      يتكوّن جدول Jenkins من خمسة حقول مثل كرون تاب، وكل سطر في مربع الجدولة جدول مستقل:

      الحقلالقيم المسموحةالرموز الخاصة
      الدقيقة0–59, - * / H
      الساعة0–23, - * / H
      يوم الشهر1–31, - * / H
      الشهر1–12, - * / H
      يوم الأسبوع0–7 (‏0 و7 = الأحد), - * / H

      الرموز الخاصة

      الرمزالمعنى
      Hقيمة مشتقة من اسم المهمة. H في حقل الدقائق دقيقة ثابتة لكل مهمة، فالتعبير H * * * * يعمل كل ساعة عند الدقيقة 37 مثلًا، وهي الدقيقة نفسها دائمًا لتلك المهمة.
      H/nكل n وحدات بإزاحة خاصة بالمهمة: H/15 * * * * قد يعمل عند الدقائق 07 و22 و37 و52.
      H(a-b)قيمة خاصة بالمهمة ضمن نطاق: H H(0-7) * * * يعمل مرة يوميًا في وقت ما قبل الساعة 08:00.
      @الاختصارات @hourly و@daily و@weekly و@monthly و@yearly تستخدم H، أما @midnight فيعني وقتًا ما بين 00:00 و02:59.
      #الأسطر التي تبدأ بالرمز # تعليقات، وسطر مثل TZ=Europe/London يحدّد المنطقة الزمنية للجدول.

      أمثلة على كرون Jenkins

      اضغط على أي تعبير لتحميله في المولّد أعلاه.

      التعبيرالجدول الزمني
      عند دقيقة ثابتة يختارها Jenkins.
      كل 15 دقيقة، بإزاحة يختارها Jenkins.
      كل 10 دقائق بين الدقيقة 0 والدقيقة 29، بإزاحة يختارها Jenkins.
      في وقت من اليوم يختاره Jenkins.
      عند دقيقة ثابتة يختارها Jenkins، بين 2:00 ص و2:59 ص، من الإثنين إلى الجمعة.
      عند دقيقة ثابتة يختارها Jenkins، كل ساعتين، بين 9:00 ص و4:59 م، من الإثنين إلى الجمعة.
      في وقت من اليوم يختاره Jenkins، في الأيام 1 و15 من الشهر، من يناير إلى نوفمبر.
      عند دقيقة ثابتة يختارها Jenkins، خلال ساعة واحدة بين 12:00 ص و2:59 ص يختارها Jenkins.

      الفرق بين كرون Jenkins وكرون لينكس

      الاستخدام في ملف Jenkinsfile

      في خط الأنابيب التصريحي (Declarative Pipeline) ضع الجدول داخل كتلة triggers:

      pipeline {
          agent any
          triggers {
              cron('H 2 * * 1-5')
          }
          stages {
              stage('Nightly build') {
                  steps { sh './build.sh' }
              }
          }
      }

      ويعمل فحص المستودع بالطريقة نفسها باستخدام pollSCM('H/5 * * * *')، لكن الـ webhook من خادم Git أفضل عادةً من الفحص المتكرر.

      الأسئلة الشائعة

      ماذا يعني الرمز H في جدول كرون لـ Jenkins؟

      الرمز H اختصار لكلمة «hash». يستبدله Jenkins برقم محسوب من اسم المهمة، فتحصل كل مهمة على قيمة مختلفة لكنها ثابتة. فالتعبير H * * * * يعمل مرة كل ساعة، لكن كل مهمة تختار دقيقتها الخاصة، مما يوزّع الحمل على الخادم والوكلاء.

      لماذا ينصحني Jenkins باستخدام H بدلًا من 0؟

      عند حفظ 0 2 * * * يقترح Jenkins التعبير H 2 * * *، لأن المهام الكثيرة المجدولة في الدقيقة نفسها تبدأ معًا وتتنافس على المنفّذات. ومع H تبقى المهمة ضمن الساعة 02:00 لكن في دقيقة خاصة بها.

      كيف أحدّد المنطقة الزمنية لجدول Jenkins؟

      أضف سطرًا مثل TZ=Asia/Riyadh فوق الجدول. وفي ملف Jenkinsfile اكتب سطر TZ= والجدول في سطرين منفصلين داخل نص cron. ومن دون ذلك يتبع الجدول المنطقة الزمنية لخادم Jenkins الرئيسي.

      مولدات كرون لمنصات أخرى

      تصفّح كل أمثلة تعبيرات الكرون ←