יצירת פייפליין של משלוחים ויעדים

בדף הזה מוסבר איך ליצור את צינור העברת הנתונים ואת יעדי הפריסה שמתארים איפה ואיך Cloud Deploy יפרוס את האפליקציה. במאמר סכימה של קובץ תצורה מופיע תיאור של מבנה קובץ ה-YAML של צינורות העברה ויעדים.

מידע על צינור העברת הנתונים ויעדים

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

אחרי שיוצרים את צינור העברת הנתונים ואת קובץ או קבצי הגדרת היעד, מריצים את הפקודה gcloud deploy apply על כל אחד מהקבצים האלה כדי לרשום אותם כמשאבים של Cloud Deploy.

הגדרת צינור עיבוד הנתונים לפריסה ויעדים

מבנה צינור העברת הנתונים וקובצי הגדרות היעד מתואר כאן.

אפשר לתת לקובץ הזה כל שם שרוצים. לפי המוסכמה, קובץ הגדרות של צינור להעברת נתונים שכולל הגדרות של יעדים נקרא clouddeploy.yaml, וקובץ שכולל הפניות ליעדים שמוגדרים בקובץ אחד או יותר נקרא delivery-pipeline.yaml.

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

יצירת פייפליין של העברה ויעדים באמצעות מסוף Google Cloud

אפשר להשתמש במסוף Google Cloud כדי ליצור צינור העברת נתונים חדש ויעד או יעדים. האפשרות הזו שימושית להתנסות ב-Cloud Deploy, אבל היא לא מתאימה לעומסי עבודה (workloads) של ייצור. (אפשר גם להשתמש במסוף כדי ליצור גרסה).Google Cloud

כדי ליצור את צינור ההפצה:

  1. בדף צינורות העברה, לוחצים על יצירה.

  2. נותנים שם (או משאירים את ברירת המחדל) ומוסיפים תיאור (אופציונלי).

  3. בוחרים את האזור שלכם.

  4. בוחרים את סביבת זמן הריצה.

    ב-GKE, בוחרים באפשרות Google Kubernetes Engine, או באפשרות Cloud Run אם זה זמן הריצה שבו אתם פורסים.

  5. בקטע יעד חדש, מציינים שם (או משאירים את ברירת המחדל).

  6. כדי לדרוש אישור לטירגוט הזה, מסמנים את תיבת הסימון נדרש אישור להשקות.

  7. אם אתם מתכוונים להשתמש באסטרטגיית פריסה של גרסה ראשונית (canary) ביעד הזה, מסמנים את תיבת הסימון הפעלת פריסה של גרסה ראשונית (canary).

  8. לוחצים על סיום.

  9. לוחצים על הוספת יעד ומבצעים את השלבים הבאים לכל יעד נוסף שרוצים ליצור.

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

רישום של צינור עיבוד הנתונים לפריסה ויעדים

אם יצרתם את צינור הנתונים ואת יעדי הבידינג באמצעות Google Cloud המסוף, לא צריך לבצע את הפעולה הזו.

כדי לרשום את צינור העברת התוכן ב-Cloud Deploy, מריצים את הפקודה gcloud deploy apply פעם אחת לכל קובץ הגדרה נפרד. כלומר, אם מגדירים שלושה יעדים בשלושה קבצים, צריך להריץ את הפקודה ארבע פעמים – פעם אחת לצינור העברת הנתונים ופעם אחת לכל יעד.

הפקודה הבאה רושמת צינור להעברת נתונים עם יעדים שמוגדרים באותו קובץ.

gcloud deploy apply --file=PIPELINE_CONFIG \
                    --region=LOCATION \
                    --project=PROJECT

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

דוגמה לקובץ יחיד

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

gcloud deploy apply --file=clouddeploy.yaml --region=us-central1

דוגמה לשימוש בקבצים נפרדים

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

gcloud deploy apply --file=delivery-pipeline.yaml --region=us-central1 && \
gcloud deploy apply --file=target_dev.yaml --region=us-central1 && \
gcloud deploy apply --file=target_staging.yaml --region=us-central1 && \
gcloud deploy apply --file=target_prod.yaml --region=us-central1

חובה להשתמש בדגל --region, אלא אם הגדרתם ברירת מחדל (באמצעות gcloud config set deploy/region [REGION]). האזור חייב להיות זהה עבור צינור העברת הנתונים וכל היעדים שצינור העברת הנתונים מפנה אליהם.

יצירת צינור העברת נתונים ויעדים באמצעות Terraform

אפשר גם להשתמש בספק Terraform של Google Cloud כדי ליצור משאבים של צינור העברה ויעד.

Google Cloud ספק Terraform בגרסת בטא עשוי לכלול תמיכה בתכונות של Cloud Deploy בתצוגה מקדימה.

עריכה של צינורות עיבוד נתונים ויעדים קיימים

בהמשך תוכלו לערוך צינור עיבוד נתונים לפריסה או הגדרות יעד ולהריץ את הפקודה gcloud deploy apply כדי לעדכן את צינור עיבוד הנתונים או את משאב היעד. אבל השינויים האלה לא משפיעים על מהדורות קיימות, כי הן מנוהלות על ידי צינור העברת הנתונים המקורי.

דרישת אישור ידני לפריסה

כדי לדרוש אישור ידני ליעד מסוים, צריך לכלול את המאפיין הבא בהגדרת היעד:

requireApproval: true

ערך ברירת המחדל הוא false. אם לא מציינים את המאפיין הזה בהגדרות של צינור העברת הנתונים, או אם לא מציינים לו ערך, לא נדרש אישור כדי לפרוס את היעד הזה. (אבל למי שמנסה להעלות את הרשאות הגישה שלו למשאב היעד עדיין נדרשת ההרשאה clouddeploy.rollouts.create ב-IAM).

אפשר אפילו לדרוש אישור ידני ליעד הראשון. כשיוצרים גרסה באמצעות ה-CLI עבור היעד הראשון, נוצר באופן אוטומטי rollout. אם נדרש אישור, Cloud Deploy יוצר את rollout, אבל במצב של המתנה להפצה עד שיינתן אישור.

המאמרים הבאים