יצירת קוד באופן ידני במאגרי קוד מקור

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

במאמר הפעלת בנייה באופן ידני מוסבר איך להפעיל בנייה באופן ידני באמצעות ה-CLI של gcloud או Cloud Build API.

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

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

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

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

    להפעלת ה-API

  • חשוב להכין את קוד המקור.

טריגרים ידניים

טריגרים ידניים מאפשרים לכם להגדיר גרסאות build שמופעלות רק כשמפעילים את הטריגר במאגרי מידע מקושרים. לדוגמה, אתם יוצרים צינור עיבוד נתונים לפריסה של קוד המקור בסביבת Staging או בסביבת ייצור. יכול להיות שתרצו להפוך את תהליך העבודה לאוטומטי, אבל תרצו להריץ את הבנייה באופן ידני. אפשר להגדיר טריגרים ידניים כדי לעשות זאת.

טריגרים ידניים מאפשרים להפעיל בנייה באופן ידני על ידי:

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

אם רוצים להריץ גרסאות build מהספרייה המקומית במקום ממאגר מארח, או לשלוח גרסאות build בלי ליצור טריגר, אפשר להריץ את הפקודה gcloud הבאה בספרייה המקומית:

gcloud builds submit --config BUILD_CONFIG SOURCE_CODE

כאשר:

  • BUILD_CONFIG הוא הנתיב לקובץ התצורה של ה-build.
  • SOURCE_CODE הוא הנתיב או קוד המקור של כתובת ה-URL.

כאן מוסבר איך משתמשים בפקודה gcloud כדי להתחיל גרסאות build באופן ידני בספרייה המקומית.

יצירת טריגרים ידניים

המסוף

כדי ליצור טריגר ידני:

  1. פותחים את הדף Triggers (טריגרים):

    פתיחת הדף Triggers

  2. בוחרים את הפרויקט הרלוונטי מראש הדף ולוחצים על פתיחה.

  3. לוחצים על Create trigger (יצירת ביטוי להפעלה).

  4. מזינים את הגדרות הטריגר הבאות:

    • שם: שם לטריגר.
    • אזור: בוחרים את האזור של הטריגר.

      • אם בוחרים באפשרות global כאזור, Cloud Build משתמש במאגר ברירת המחדל כדי להפעיל את ה-build.
      • אם בוחרים אזור לא גלובלי וקובץ התצורה של ה-build שמשויך לטריגר מציין מאגר פרטי, מערכת Cloud Build משתמשת במאגר הפרטי כדי להריץ את ה-build. במקרה כזה, האזור שאתם מציינים בטריגר חייב להיות זהה לאזור שבו יצרתם את המאגר הפרטי.
      • אם בוחרים אזור לא גלובלי וקובץ הגדרות ה-build שמשויך לטריגר לא מציין מאגר פרטי, Cloud Build משתמש במאגר ברירת המחדל כדי להריץ את ה-build באותו אזור כמו הטריגר.
    • תיאור (אופציונלי): תיאור של הטריגר.

    • Event (אירוע): בוחרים באפשרות Manual invocation (הפעלה ידנית) כדי להגדיר את הטריגר כך שה-builds יופעלו רק כשהטריגר מופעל באופן ידני.

    • מקור: בוחרים את המאגר שייבנה כשהטריגר הידני יופעל.

    • יצירת מאגר: בוחרים באפשרות דור שני.

    • ענף או תג: מגדירים אחת מהאפשרויות הבאות:

      • Branch: הגדרת טריגר לבנייה בענף הזה. חובה לציין ערך מילולי. אין תמיכה בביטויים רגולריים.
      • תג: הגדרת טריגר להפעלה של התג הזה. חובה לציין ערך מילולי. אין תמיכה בביטויים רגולריים.
    • Configuration (תצורה): בוחרים את קובץ תצורת ה-build שנמצא במאגר המרוחק או יוצרים קובץ תצורת build מוטבע לשימוש ב-build.

      • סוג: בוחרים את סוג ההגדרה שרוצים להשתמש בה ב-build.
        • קובץ תצורה של Cloud Build‏ (yaml או json): משתמשים בקובץ תצורת build בשביל ההגדרה.
        • Dockerfile: משתמשים ב-Dockerfile להגדרה.
      • מיקום: מציינים את המיקום של ההגדרה.

        • מאגר: אם קובץ ההגדרות נמצא במאגר המרוחק, צריך לציין את המיקום של קובץ הגדרות הבנייה, של הספרייה Dockerfile או של ספריית חבילות ה-buildpack. אם סוג ההגדרה של ה-build הוא Dockerfile או buildpack, תצטרכו לספק שם לקובץ האימג' שיתקבל, ואם רוצים, גם הגדרת זמן קצוב לתהליך ה-build. אחרי שתספקו את שם התמונה של Dockerfile או של buildpack, תוכלו לראות תצוגה מקדימה של הפקודה docker build או pack שה-build יבצע.
        • בתוך השורה: אם בחרתם באפשרות קובץ תצורה של Cloud Build (yaml או json), אתם יכולים לציין את הגדרות ה-build בתוך השורה. לוחצים על Open Editor (פתיחת העורך) כדי לכתוב את קובץ הגדרות ה-build במסוף Google Cloud באמצעות תחביר YAML או JSON. לוחצים על סיום כדי לשמור את הגדרות ה-build.
  5. לוחצים על Create (יצירה) כדי ליצור את הטריגר הידני.

gcloud

כדי ליצור טריגר ידני:

  1. פותחים חלון טרמינל.
  2. מריצים את הפקודה gcloud הבאה כדי ליצור טריגר לפיתוח גרסת Build בפרויקט:

    gcloud builds triggers create manual \
      --region=REGION \
      --name=TRIGGER_NAME \
      --repository=projects/PROJECT_ID/locations/REGION/connections/CONNECTION_NAME/repositories/REPO_NAME \
      --branch=BRANCH_NAME \
      --build-config=BUILD_CONFIG_FILE \
      --service-account=SERVICE_ACCOUNT
    

כאשר:

  • REGION הוא האזור של הטריגר.
  • TRIGGER_NAME הוא השם של הטריגר.
  • PROJECT_ID הוא מזהה הפרויקט. Google Cloud
  • CONNECTION_NAME הוא השם של חיבור המארח.
  • REPO_NAME הוא שם המאגר.
  • BRANCH_NAME הוא שם הסניף. אפשר גם לציין תג באמצעות --tag או מזהה של פעולת commit באמצעות --sha.
  • BUILD_CONFIG_FILE הוא הנתיב לקובץ התצורה של ה-build. אפשר גם לציין קובץ תצורת build מוטבע באמצעות --inline-config או קובץ Docker באמצעות --dockerfile,‏ --dockerfile-dir ו-dockerfile-image.
  • SERVICE_ACCOUNT היא כתובת האימייל שמשויכת לחשבון השירות שלכם. אם לא כוללים את הדגל הזה, נעשה שימוש בחשבון שירות שמוגדר כברירת מחדל.

רשימה מלאה של הדגלים זמינה במאמר gcloud בנושא יצירת טריגרים ידניים.

הפעלת טריגרים ידניים

המסוף

כדי להפעיל טריגר ידני באמצעות Google Cloud מסוף:

  1. פותחים את הדף Triggers במסוף Google Cloud .

    פתיחת הדף 'טריגרים'

  2. מאתרים את הטריגר ברשימה.

  3. לוחצים על הפעלת הטריגר.

    אחרי שלוחצים על Run trigger (הפעלת טריגר), יופיע חלונית Run trigger (הפעלת טריגר) בצד שמאל. אם ציינתם שדות כמו שם הסניף, שם התג או משתני החלפה, תוכלו לבטל את השדות האלה בזמן ההפעלה.

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

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

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

gcloud

כדי להפעיל טריגר ידני באמצעות כלי שורת הפקודה gcloud, מריצים את הפקודה הבאה:

      gcloud builds triggers run TRIGGER_NAME \
         --region=REGION \
         --branch=BRANCH_NAME \
         --substitutions=SUBSTITUTION_VAR=SUBSTITUTION_VALUE

כאשר:

  • TRIGGER_NAME הוא השם של הטריגר.
  • REGION הוא האזור של הטריגר.
  • BRANCH_NAME הוא שם הסניף. אפשר גם לציין תג באמצעות --tag או מזהה של פעולת commit באמצעות --sha.
  • SUBSTITUTION_VAR (אופציונלי) הוא שם המשתנה של ערך ההחלפה.
  • SUBSTITUTION_VALUE (אופציונלי) הוא הערך שמשויך למשתנה ההחלפה.

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

השלבים הבאים