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

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

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

  • מפעילים את Cloud Build API, אם הוא עדיין לא מופעל.

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

    כדי להפעיל ממשקי API, צריך את ההרשאה serviceusage.services.enable. אם אתם יצרתם את הפרויקט, סביר להניח שכבר יש לכם את ההרשאה הזו דרך התפקיד "בעלים" (roles/owner). אחרת, אתם יכולים לקבל את ההרשאה הזו דרך התפקיד "אדמין בממשק 'שימוש בשירות'" (roles/serviceusage.serviceUsageAdmin). איך מקצים תפקידים

    להפעלת ה-API

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

תזמון גרסאות build

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

כדי לתזמן את ה-build:

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

    פותחים את הדף Triggers

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

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

  4. לוחצים על Run on schedule כדי לתזמן את ה-build.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

כדי לעדכן את המשימה ב-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. בשדה גוף ההודעה, מעדכנים את הגרסה.

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

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

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

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

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

השלבים הבאים