תזמון של בניית תוכניות

בדף הזה מוסבר איך להריץ בנייה לפי לוח זמנים מוגדר מראש באמצעות מסוףGoogle Cloud . כדי לתזמן בנייה, צריך ליצור טריגר ידני ואז להפעיל את הטריגר באמצעות Cloud Scheduler.

לפני שמתחילים

  • מפעילים את Cloud Build API.

    תפקידים שנדרשים להפעלת ממשקי API

    כדי להפעיל ממשקי API, צריך את תפקיד ה-IAM 'אדמין של Service Usage' (roles/serviceusage.serviceUsageAdmin), שכולל את ההרשאה serviceusage.services.enable. איך מקצים תפקידים

    להפעלת ה-API

  • חשוב להכין את קוד המקור.
  • אם עדיין לא עשיתם את זה, צרו טריגר ידני. אפשר לתזמן בנייה רק אם הגורם המפעיל הוא גורם מפעיל ידני.
  • אם אתם מתכננים להשתמש בחשבון שירות שצוין על ידי המשתמש לטריגר לפיתוח גרסת Build, ודאו שכתובת האימייל של חשבון השירות הזה מוכנה. תצטרכו לתת לחשבון השירות של כלי התזמון הרשאה להשתמש בו.

תזמון של בנייה

אחרי שיוצרים טריגר ידני, אפשר לתזמן את הבנייה.

כדי לתזמן את הבנייה:

  1. פותחים את הדף Triggers (מפעילים):

    פתיחת הדף Triggers

  2. מאתרים את השורה שמכילה את השם של הטריגר הידני שרוצים להפעיל לפי לוח זמנים.

  3. לוחצים על התפריט פעולות שמשמאל לשורה שבה נמצא הטריגר.

  4. לוחצים על Run on schedule (הפעלה לפי לוח זמנים) כדי לתזמן את הבנייה.

    בצד שמאל יופיע החלונית Run trigger on schedule.

  5. מפעילים את Cloud Scheduler API.

    תתבקשו להפעיל את Cloud Scheduler API רק בפעם הראשונה שתתזמנו בנייה.

  6. בוחרים את חשבון השירות שרוצים ש-Cloud Scheduler ישתמש בו כשמופעל הטריגר.

    מומלץ לבחור את חשבון השירות שמוגדר כברירת מחדל לתזמון, שהוא בפורמט הבא, כאשר PROJECT_ID הוא מזהה הפרויקט שלכם:

     cloud-build-trigger-scheduler@PROJECT_ID.iam.gserviceaccount.com
    

    כשבוחרים את חשבון השירות שמוגדר כברירת מחדל לתזמון, הוא נוצר באופן אוטומטי עם תפקיד ה-IAM‏ Cloud Build Editor.

    מומלץ לא למחוק את חשבון השירות הזה כי הוא משמש את Cloud Scheduler לתזמון של בנייה. אם מחקתם בטעות את חשבון השירות הזה או ביטלתם את הרשאות ה-IAM שלו, תוכלו לעבור אל דף ה-IAM כדי להוסיף את חשבון השירות באופן ידני ולהקצות לו את התפקיד Cloud Build Editor. יכול להיות שתצטרכו לחכות עד שעה עד שכל המשימות הקיימות ב-Cloud Scheduler יחזרו לפעולה אחרי שתיצרו מחדש את חשבון השירות.

    אם הטריגר הידני משתמש בחשבון שירות שצוין על ידי המשתמש, צריך גם להעניק לחשבון השירות שמוגדר כברירת מחדל לתזמון את התפקיד Service Account User (roles/iam.serviceAccountUser) בחשבון השירות שצוין על ידי המשתמש. בלי התפקיד הזה, ל-Cloud Scheduler לא תהיה הרשאה להפעיל את הטריגר.

  7. לוחצים על Continue.

    אם לא בחרתם אזור, יכול להיות שתתבקשו לבחור אזור למשימות ב-Cloud Scheduler לפני שתמשיכו לשלב הבא. כשבוחרים אזור, אפליקציית App Engine נוצרת באופן אוטומטי בפרויקט. אי אפשר לשנות את האזור של הפרויקט בהמשך. מידע נוסף על אזורים נתמכים

  8. מזינים את הגדרות המשימה הבאות ב-Cloud Scheduler:

    • שם: שם למשימה ב-Cloud Scheduler.
    • תיאור (אופציונלי): תיאור של משימת Cloud Scheduler.
    • תדירות: בוחרים את התדירות שבה רוצים שהטריגר יפעל. אפשר לבחור תדירות מהתפריט הנפתח או להזין ערך מותאם אישית באמצעות תחביר cron. לדוגמה, אם רוצים שהטריגר הידני יופעל כל יום בשעה 6:00, אפשר לציין את התדירות בתחביר של cron כך: 0 6 * * *. מידע נוסף על התחביר של cron זמין במאמר בנושא הגדרת לוחות זמנים של משימות cron.
    • אזור זמן: בוחרים את אזור הזמן.
  9. לוחצים על יצירה כדי ליצור את משימת Cloud Scheduler.

    אפשר ליצור כמה משימות לתזמון לכל טריגר ידני.

  10. כדי לראות את העבודה של Cloud Scheduler, לוחצים על View (תצוגה). אחרת, לוחצים על סיום כדי לסגור את החלונית.

עדכון המשימה ב-Cloud Scheduler

אם מעדכנים את השדה Revision (גרסה) בטריגר ידני, צריך לעדכן ידנית את המשימה ב-Cloud Scheduler שמשויכת לטריגר. לדוגמה, אם מעדכנים את שם הענף של הטריגר הידני, צריך לעדכן ידנית את שם הענף בעבודה.

כדי לעדכן את המשימה ב-Cloud Scheduler:

  1. פותחים את הדף Cloud Scheduler:

    פתיחת הדף Cloud Scheduler

    תוצג רשימה של המשימות שלכם ב-Cloud Scheduler.

  2. [אופציונלי] מזהים את המשימה ב-Cloud Scheduler שמשויכת לטריגר:

    1. כדי לקבל את מזהה הטריגר, מריצים את הפקודה הבאה, שבה TRIGGER_NAME הוא שם הטריגר:

      gcloud builds triggers describe TRIGGER_NAME
      
    2. רושמים את מזהה הטריגר.

    3. מזינים את מזהה הטריגר בסרגל המסנן בחלק העליון של הטבלה.

    תוצג רשימה של המשימות ב-Cloud Scheduler שמשויכות לטריגר.

  3. לוחצים על השורה שמכילה את שם המשרה שרוצים לעדכן.

  4. לוחצים על עריכה בחלק העליון של הדף.

    יופיע טופס לעדכון משימת Cloud Scheduler.

  5. בשדה Body (גוף), מעדכנים את הגרסה.

  6. לוחצים על עדכון.

עדכנתם את הגרסה שמשויכת לטריגר של משימת Cloud Scheduler.

הסרת המשימה ב-Cloud Scheduler

מחיקה או השבתה של הטריגר לא יגרמו למחיקה או להשבתה אוטומטית של כל המשימות ב-Cloud Scheduler שנוצרו אוטומטית כשקבעתם את הטריגר. העבודות שלכם ימשיכו להתקיים, ויכול להיות שה-builds ימשיכו להיות מופעלים.

כדי לוודא שהטריגר לא יפעל יותר בזמן מסוים, מוחקים את המשימה ב-Cloud Scheduler.

השלבים הבאים