ניהול גרסאות של כלים

‫Cloud Deploy מבצע את הפעולות שלו באמצעות אימג' בהתאמה אישית, שכולל גרסאות ברירת מחדל של כלי. ‫Cloud Deploy מספק לכם גמישות ושליטה בתהליך הפריסה, ומאפשר לכם לציין גרסאות של כלים לשימוש בפעולות של עיבוד, פריסה ואימות של קובצי המניפסט.

בדף הזה מוסבר איך נבחרות גרסאות של כלי Cloud Deploy, ומהו משך התחזוקה והתמיכה לכל גרסה של הכלי.

גרסאות נתמכות של כלי Cloud Deploy

באמצעות Cloud Deploy אפשר לבחור את הגרסאות של הכלים הבאים:

‫Cloud Deploy מספק מאגר של גרסאות כלי זמינות שאפשר להשתמש בהן לפעולות. כל הגרסאות האלה כפופות למדיניות התחזוקה והוצאה משימוש.

גרסאות ברירת מחדל של כלים

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

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

כדי לראות את גרסאות ברירת המחדל, מריצים את הפקודה הבאה:

gcloud deploy get-config \
      --project=PROJECT \
      --region=REGION \
      --format 'yaml(defaultToolVersions)'

ניהול גרסאות קבוע של כלי

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

gcloud deploy releases describe RELEASE_NAME \
       --delivery-pipeline=PIPELINE_NAME \
       --project=PROJECT \
       --region=REGION \
       --format='yaml(toolVersions)'

בגרסאות להפצה שנוצרו לפני שהוספנו את התכונה של ניהול גרסאות של כלים, לא יופיעו toolVersions בפלט. במקום זאת, אפשר לראות את גרסת Skaffold באמצעות הדגל --format 'yaml(skaffoldVersion)'.

השבתת ניהול גרסאות של כלים קבועים

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

gcloud deploy releases create RELEASE_NAME \
       --delivery-pipeline=PIPELINE_NAME \
       --project=PROJECT \
       --region=REGION \
       --docker-version=latest \
       --helm-version=latest \
       --kpt-version=latest \
       --kubectl-version=latest \
       --kustomize-version=latest \
       --skaffold-version=latest

איך מציינים גרסה מסוימת של כלי לשימוש

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

gcloud deploy releases create RELEASE_NAME \
       --delivery-pipeline=PIPELINE_NAME \
       --project=PROJECT \
       --region=REGION \
       --docker-version=DOCKER_VERSION \
       --helm-version=HELM_VERSION \
       --kpt-version=KPT_VERSION \
       --kubectl-version=KUBECTL_VERSION \
       --kustomize-version=KUSTOMIZE_VERSION \
       --skaffold-version=SKAFFOLD_VERSION

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

לדוגמה, הפקודה הבאה משתמשת ב-Skaffold 2.16.1 וב-Helm 3.18.3:

gcloud deploy releases create release-001 \
                              --delivery-pipeline=PIPELINE_NAME \
                              --skaffold-version=2.16.1 \
                              --helm-version=3.18.3 \
                              --project=PROJECT \
                              --region=REGION

תאימות של גרסת הכלי

‫Cloud Deploy אחראי לוודא שגרסאות הכלים תואמות לתמונה של Cloud Deploy. אם אתם משתמשים בתכונה להחלפת גרסאות של כלים כדי להחליף גרסאות של כלים בתמונה של Cloud Deploy, אתם אחראים לבחירת גרסאות תואמות של כלים.

מדיניות בנושא הוצאה משימוש ותחזוקה של גרסאות של כלי

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

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

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

gcloud deploy releases describe RELEASE_NAME \
       --delivery-pipeline=PIPELINE_NAME \
       --project=PROJECT \
       --region=REGION \
       --format 'yaml(condition)'

אפשר גם להריץ את הפקודה הבאה כדי לראות את תאריך התחזוקה ותאריך התפוגה של כלי ספציפי:

gcloud artifacts versions list \
       --package TOOL_NAME \
       --repository tools \
       --project cd-image-prod \
       --location=REGION

תאריכי התחזוקה והתפוגה זמינים כהערות בגרסאות המתאימות.

גרסה קודמת של Skaffold

בעבר, Cloud Deploy סיפק רשימה ספציפית של גרסאות Skaffold שנתמכו. הגרסאות האלה של Skaffold תאמו לתמונה של Cloud Deploy שנבנתה עם הגרסה הספציפית הזו של Skaffold וכלים אחרים. הגרסאות של Skaffold נתמכו במשך 12 חודשים, עם תקופת תחזוקה של 60 יום.

אנחנו עוברים ממודל כזה ב-Cloud Deploy כדי לשפר את מצב האבטחה של Cloud Deploy. בלי הצורך לספק תמונות שתואמות לגרסה מסוימת של Skaffold, ‏ Cloud Deploy יכול לטפל בפגיעויות מהר יותר ולעדכן את גרסאות ברירת המחדל של כלי העזר בתדירות גבוהה יותר.

נמשיך לתמוך בגרסאות קיימות של Skaffold עד לתאריך התפוגה.

גרסת Skaffold תאריך עדכון התחלת התחזוקה תפוגה
2.16 (הערות לגבי הגרסה) ‫12 במאי 2025 ‫14 במאי 2026 ‫13 ביולי 2026

אתם יכולים להמשיך ליצור גרסאות שמשתמשות בגרסאות הספציפיות האלה של Skaffold באמצעות הדגל --skaffold-version בפקודה הבאה:

gcloud deploy releases create RELEASE_NAME \
      --delivery-pipeline=PIPELINE_NAME \
      --skaffold-version=SKAFFOLD_VERSION \
      --project=PROJECT \
      --region=REGION