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

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

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

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

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

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

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

    להפעלת ה-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 להגדרה.
      • מיקום: מציינים את המיקום של ההגדרה.

        • מאגר: אם קובץ ההגדרות נמצא במאגר המרוחק, צריך לציין את המיקום של קובץ הגדרות ה-Build, של הספרייה Dockerfile או של ספריית ה-buildpacks. אם סוג ההגדרה של ה-build הוא Dockerfile או buildpack, תצטרכו לספק שם לקובץ האימג' שיתקבל, ואם רוצים, גם הגדרת זמן קצוב לתהליך ה-build. אחרי שתספקו את שם התמונה של Dockerfile או של buildpack, תוכלו לראות תצוגה מקדימה של הפקודה docker build או pack שה-build יבצע.
        • בתוך הקובץ: אם בחרתם באפשרות קובץ תצורת 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 (אופציונלי) הוא הערך שמשויך למשתנה ההחלפה.

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

השלבים הבאים