תקציר
מודול זה הסביר אסטרטגיות ניהול גרסאות לאריזה, שיטות עבודה מומלצות לניהול גרסאות ותהליכי עבודה של קידום חבילות . למדת מושגים חיוניים לניהול גרסאות חבילה לאורך מחזור החיים של פיתוח התוכנה.
מה למדת
למדת כיצד לתאר את היתרונות והשימוש ב:
יישום אסטרטגיית ניהול גירסאות
- חשיבות גרסה: הכרה מדוע ניהול גירסאות נכון הוא קריטי לניהול תלות ויציבות תוכנה.
- חבילות בלתי ניתנות לשינוי: להבין שלא ניתן לשנות חבילות שפורסמו; ניתן לשחרר רק גרסאות חדשות.
- סוגי גרסאות: הבן את ההפרשים הקבועים של גרסאות ראשיות, משניות וגרסאות תיקון ומתי להשתמש בכל אחת מהן.
- גרסאות ספציפיות לחבילה: יישום ניהול גרסאות עבור סוגי חבילות שונים (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.
- ניהול שינויים: אסטרטגיות להוצאה משימוש והסרה של תכונות.
- הצמדת גרסה: שליטה כאשר צרכנים מאמצים גרסאות חדשות.
- אוטומציה של יומן שינויים: צור יומני שינויים באופן אוטומטי מהתחייבויות.
יישום מעשי
התחל ליישם:
- תעד את האסטרטגיה שלך: כתוב הנחיות לניהול גירסאות עבור הצוות שלך.
- אמצו את SemVer 2.0: סטנדרטיזציה של גרסאות סמנטיות.
- קביעת תצורה של הזנות ותצוגות: הגדר @Local, @Prereleaseותצוגות @Release .
- אוטומציה של ניהול גירסאות: יישם יצירת גירסאות אוטומטית בצינורות בנייה.
- הגדרת תהליכי עבודה של קידום: הגדר ואוטומציה של קידום חבילות.
- הכשירו את הצוות שלכם: ודא שכולם מבינים את אסטרטגיית ניהול הגירסאות ופועלים לפיה.
אינטגרציה עם נוהלי DevOps
ניהול גירסאות בזרימות עבודה של DevOps:
- אינטגרציה מתמשכת: הפוך את הבנייה והפרסום של חבילות לאוטומטיות.
- אספקה רציפה: השתמש בתהליכי עבודה של קידום עבור מהדורות מבוקרות.
- תשתית כקוד: חבילות תשתית גרסאות לצד חבילות יישומים.
- דגלי תכונות: שלב ניהול גירסאות עם דגלי תכונות לפריסה הדרגתית.
למד עוד
מסמכים רשמיים
- מושגי מפתח עבור Azure Artifacts - מדריך מקיף למושגים של Azure Artifacts, כולל קביעות חבילה.
- פרסום והורדה של חבילות אוניברסליות - Azure Artifacts | Microsoft Learn - מדריך להתחלה מהירה עבור חבילות אוניברסליות ב- Azure Artifacts.
- תחילת העבודה עם חבילות NuGet - Azure Artifacts | Microsoft Learn - מדריך מלא לניהול חבילות NuGet ב- Azure Artifacts.
משאבים נוספים
- גרסאות סמנטיות 2.0.0 - מפרט רשמי של גרסאות סמנטיות.
- תצוגות Azure Artifacts - הסבר מפורט על תצוגות הזנה וקידום.
- שיטות עבודה מומלצות לשימוש ב- Azure Artifacts - שיטות עבודה מומלצות מקיפות עבור תוצרי Azure.
- ניהול גירסאות של חבילות בקווי צינור של Azure - מדריך לחבילות ניהול גירסאות בקווי צינור של CI/CD.
- צפיות בפיד לקידום חבילות - איך לתקשר את איכות החבילה עם צפיות.
מדריכים ספציפיים לסוג החבילה
- ניהול גרסאות של חבילת NuGet - הנחיות לניהול גרסאות ספציפיות ל- NuGet.
- גרסאות סמנטיות של npm - npm וגרסאות סמנטיות.
- גרסאות Maven - גרסאות פרויקט Maven.
- מצייני גרסת אריזת Python - מצייני גרסת PEP 440.
כלים ואוטומציה
- GitVersion - ניהול גרסאות אוטומטי מהיסטוריית Git.
- שחרור סמנטי - ניהול גרסאות אוטומטי לחלוטין ופרסום חבילות.
- Azure DevOps CLI - כלי שורת פקודה עבור אוטומציה של תוצרים של Azure.
קהילה ותמיכה
- תיעוד Azure DevOps: עיינו במדריכים ובערכות לימוד מקיפים.
- שאלות ותשובות של Microsoft: שאל שאלות וקבל תשובות מהקהילה.
- הבלוג של Azure DevOps: הישאר מעודכן בתכונות ובשיטות העבודה המומלצות העדכניות ביותר.
- דוגמאות של GitHub : חקור קווי צינור ותצורות לדוגמה.