תקציר

הושלם

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

מה למדת

למדת כיצד לתאר את היתרונות והשימוש ב:

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

  • חשיבות גרסה: הכרה מדוע ניהול גירסאות נכון הוא קריטי לניהול תלות ויציבות תוכנה.
  • חבילות בלתי ניתנות לשינוי: להבין שלא ניתן לשנות חבילות שפורסמו; ניתן לשחרר רק גרסאות חדשות.
  • סוגי גרסאות: הבן את ההפרשים הקבועים של גרסאות ראשיות, משניות וגרסאות תיקון ומתי להשתמש בכל אחת מהן.
  • גרסאות ספציפיות לחבילה: יישום ניהול גרסאות עבור סוגי חבילות שונים (NuGet, npm, Maven, Python, Universal Packages).

הבנת ניהול גירסאות סמנטיות

  • פורמט SemVer 2.0: החל ניהול גירסאות של Major.Minor.Patch לתקשורת עקבית.
  • שינויים מפוצצים: השתמש בגירסאות ראשיות כדי לאותת על שינויים לא תואמים ב-API.
  • תכונות חדשות: השתמש בגרסאות משניות לתוספות התואמות לאחור.
  • תיקוני: השתמש בגרסאות תיקון לתיקונים תואמים לאחור.
  • תוויות קדם-הפצה: השתמש בתוויות (אלפא, ביתא, rc) כדי לציין את איכות קדם-ההפצה.
  • קדימות גרסה: הבנת אופן ההשוואה והסדר של גירסאות.

שימוש בתצוגות Azure Artifacts

  • שלוש תצוגות ברירת מחדל: מינוף @Local, @Prereleaseוהשקפות @Release .
  • נוף @Local: מכיל את כל החבילות, כולל אלה ממקורות במעלה הזרם.
  • נוף @Prerelease: מסנן לחבילות עם תוויות קדם-הפצה.
  • נוף @Release: מציג רק חבילות מוכנות לייצור.
  • מזהי URI ספציפיים לתצוגה: הגדר את צרכני החבילות לשימוש בתצוגות ספציפיות.
  • תצוגות מותאמות אישית: צור תצוגות נוספות לרמות איכות עדינות יותר.

קידום חבילות

  • שערים איכותיים: השתמשו במבצע כדי להעביר חבילות ברמות איכות.
  • תהליך עבודה של קידום: יישם @Local → @Prerelease התקדמות → @Release .
  • קידום אוטומטי: השתמש במשימות Azure Pipelines כדי להפוך את הקידום לאוטומטי בהתבסס על תוצאות הבדיקה.
  • קידום ידני: החל שערי אישור ידניים עבור חבילות קריטיות.
  • הגנת שמירה: הבינו שחבילות מקודמות מוגנות מפני מחיקה.
  • חבילות במעלה הזרם: נהל קידום של חבילות במעלה הזרם המאוחסנות במטמון.

דחיפת חבילות מצינורות

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

יישום שיטות עבודה מומלצות

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

סיכום מושגי מפתח

קביעות גרסה

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

עקרונות גרסאות סמנטיות

  • Major.Minor.Patch: מספר גרסה של שלושה חלקים.
  • תקשורת ברורה: מספר הגירסה מציין את היקף השינויים.
  • תאימות לאחור: Minor ו-Patch שומרים על תאימות.
  • תוויות קדם-הפצה: ציין רמת איכות באמצעות תוויות.

תצוגות Azure Artifacts

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

יתרונות אוטומציה

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

‏‫השלבים הבאים‬

המשך ללמוד

שפר את כישורי הגרסאות שלך:

  • תהליכי קידום מתקדמים: הטמעת קידום רב-שלבי עם שערי אישור.
  • ניהול טווח גרסאות: הבנת טווחי גירסאות ואילוצים של יחסי תלות.
  • אסטרטגיות הסתעפות: יישור גרסאות עם אסטרטגיות הסתעפות (Gitflow, מבוסס trunk).
  • ניהול גירסאות של תיקונים חמים: טפל נכון בתיקונים חמים וביציאות אחוריות.

גלה תרחישים מתקדמים:

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

יישום מעשי

התחל ליישם:

  1. תעד את האסטרטגיה שלך: כתוב הנחיות לניהול גירסאות עבור הצוות שלך.
  2. אמצו את SemVer 2.0: סטנדרטיזציה של גרסאות סמנטיות.
  3. קביעת תצורה של הזנות ותצוגות: הגדר @Local, @Prereleaseותצוגות @Release .
  4. אוטומציה של ניהול גירסאות: יישם יצירת גירסאות אוטומטית בצינורות בנייה.
  5. הגדרת תהליכי עבודה של קידום: הגדר ואוטומציה של קידום חבילות.
  6. הכשירו את הצוות שלכם: ודא שכולם מבינים את אסטרטגיית ניהול הגירסאות ופועלים לפיה.

אינטגרציה עם נוהלי DevOps

ניהול גירסאות בזרימות עבודה של DevOps:

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

למד עוד

מסמכים רשמיים

משאבים נוספים

מדריכים ספציפיים לסוג החבילה

כלים ואוטומציה

  • GitVersion - ניהול גרסאות אוטומטי מהיסטוריית Git.
  • שחרור סמנטי - ניהול גרסאות אוטומטי לחלוטין ופרסום חבילות.
  • Azure DevOps CLI - כלי שורת פקודה עבור אוטומציה של תוצרים של Azure.

קהילה ותמיכה

  • תיעוד Azure DevOps: עיינו במדריכים ובערכות לימוד מקיפים.
  • שאלות ותשובות של Microsoft: שאל שאלות וקבל תשובות מהקהילה.
  • הבלוג של Azure DevOps: הישאר מעודכן בתכונות ובשיטות העבודה המומלצות העדכניות ביותר.
  • דוגמאות של GitHub : חקור קווי צינור ותצורות לדוגמה.