בדף הזה מוסבר איך ליצור טריגרים ידניים כדי לבנות קוד במאגרי קוד מקור. אפשר להשתמש בטריגרים ידניים כדי להפעיל build באופן ידני, עם אפשרות לשנות את הערכים של משתני ההחלפה שהוגדרו בזמן ההפעלה לפני שמריצים build. אפשר גם לתזמן טריגרים ידניים כך שיפעלו אוטומטית בשעה מסוימת.
במאמר הפעלת בנייה באופן ידני מוסבר איך להפעיל בנייה באופן ידני באמצעות ה-CLI של gcloud או Cloud Build API.
לפני שמתחילים
מפעילים את Cloud Build API.
תפקידים שנדרשים להפעלת ממשקי API
כדי להפעיל ממשקי API, צריך את תפקיד ה-IAM 'אדמין של Service Usage' (
roles/serviceusage.serviceUsageAdmin), שכולל את ההרשאהserviceusage.services.enable. איך מקצים תפקידים
- חשוב להכין את קוד המקור.
טריגרים ידניים
טריגרים ידניים מאפשרים להגדיר גרסאות build שמופעלות רק כשמפעילים את הטריגר במאגרים מקושרים. לדוגמה, אתם יוצרים צינור עיבוד נתונים לפריסה של קוד המקור בסביבת Staging או בסביבת ייצור. יכול להיות שתרצו להפוך את תהליך העבודה לאוטומטי, אבל תרצו להריץ את הבנייה באופן ידני. אפשר להגדיר טריגרים ידניים כדי לעשות זאת.
טריגרים ידניים מאפשרים להפעיל בנייה באופן ידני על ידי:
- שליפת קוד מקור ממאגר מתארח עם הסתעפות או תג ספציפיים.
- הגדרת פרמטרים ל-build עם החלפות שלא צריך להעביר באופן ידני בכל פעם שמריצים build.
- ביטול ערכים של משתני החלפה שהוגדרו בזמן ההפעלה לפני הפעלת בנייה.
אם רוצים להריץ גרסאות build מהספרייה המקומית במקום ממאגר מארח, או לשלוח גרסאות build בלי ליצור טריגר, אפשר להריץ את הפקודה gcloud הבאה בספרייה המקומית:
gcloud builds submit --config BUILD_CONFIG SOURCE_CODE
כאשר:
- BUILD_CONFIG הוא הנתיב לקובץ התצורה של ה-build.
- SOURCE_CODE הוא הנתיב או קוד המקור של כתובת ה-URL.
כאן מוסבר איך משתמשים בפקודה gcloud כדי להתחיל גרסאות build באופן ידני בספרייה המקומית.
יצירת טריגרים ידניים
המסוף
כדי ליצור טריגר ידני:
פותחים את הדף Triggers (מפעילים):
בוחרים את הפרויקט הרלוונטי מראש הדף ולוחצים על פתיחה.
לוחצים על Create trigger (יצירת ביטוי להפעלה).
מזינים את הגדרות הטריגר הבאות:
- שם: שם לטריגר.
אזור: בוחרים את האזור של הטריגר.
- אם בוחרים באפשרות 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.
- מאגר: אם קובץ ההגדרות נמצא במאגר המרוחק, צריך לציין את המיקום של קובץ הגדרות ה-Build, של הספרייה
- סוג: בוחרים את סוג ההגדרה שרוצים להשתמש בה ב-build.
לוחצים על Create (יצירה) כדי ליצור את הטריגר הידני.
gcloud
כדי ליצור טריגר ידני:
- פותחים חלון טרמינל.
מריצים את הפקודה
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 המסוף:
פותחים את הדף Triggers במסוף Google Cloud .
מאתרים את הטריגר ברשימה.
לוחצים על הפעלת הטריגר.
אחרי שלוחצים על 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(אופציונלי) הוא הערך שמשויך למשתנה ההחלפה.
כדי להפעיל טריגרים ידניים לפי לוח זמנים, אפשר לעיין במאמר בנושא תזמון של בנייה.
השלבים הבאים
- איך מתחילים לבצע build באופן ידני באמצעות פקודות
gcloudאו Cloud Build API. - איך מתזמנים בנייה
- איך יוצרים ומנהלים טריגרים
- איך צופים בתוצאות של בניית האפליקציה
- איך פותרים בעיות שקשורות לבנייה