תוכנית שמות של גרסאות פרויקטים באביב

1. סקירה כללית

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

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

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

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

2. מסגרת אביב ומגף אביב

בנוסף לגרסאות סמנטיות, אנו יכולים לראות כי Spring Framework ו- Spring Boot משתמשים בתוויות אלה:

  • BUILD-SNAPSHOT
  • M[מספר]
  • RC [מספר]
  • לְשַׁחְרֵר

BUILD-SNAPSHOT הוא מהדורת הפיתוח הנוכחית. צוות האביב בונה חפץ זה מדי יום ומפרס אותו אל //maven.springframework.org/snapshot.

שחרור אבן דרך (M1, M2, M3, ...) מסמן שלב משמעותי בתהליך השחרור. הצוות בונה חפץ זה לאחר השלמת איטרציה של פיתוח ופורס אותו אל //maven.springframework.org/milestone.

מועמד לשחרור (RC1, RC2, RC3, ...) הוא השלב האחרון לפני בניית המהדורה הסופית. כדי למזער שינויים בקוד, רק תיקוני באגים אמורים להתרחש בשלב זה. הוא נפרס גם ל- //maven.springframework.org/milestone.

ממש בסוף תהליך השחרור, צוות האביב מייצר RELEASE. כתוצאה מכך, זה בדרך כלל החפץ היחיד שמוכן לייצור. אנו יכולים גם להתייחס למהדורה זו כ- GA, לקבלת זמינות כללית.

תוויות אלה מסודרות לפי האלף בית כדי לוודא שמנהלי בנייה ותלות קובעים נכון אם גרסה עדכנית יותר מגירסה אחרת. לדוגמא, Maven 2 טעה בטעות 1.0-SNAPSHOT כמאוחר יותר מאשר 1.0-RELEASE. Maven 3 תיקן את ההתנהגות הזו. כתוצאה מכך, אנו יכולים לחוות התנהגויות מוזרות כאשר תוכנית השמות שלנו אינה אופטימלית.

3. פרויקטים של מטריה

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

בסדר אלפביתי, תחנות הרכבת התחתית בלונדון הן ההשראה לשמות המהדורה של Spring Cloud - למתחילים, אנג'ל, בריקסטון, פינצ'לי, גריניץ 'והוקסטון.

בנוסף לתוויות האביב המוצגות לעיל, זה מגדיר גם תווית שירות שחרור (SR1, SR2 ...). אם אנו מוצאים באג קריטי, ניתן לייצר שחרור שירות.

חשוב להבין שמהדורה של Spring Cloud תואמת רק לגרסת Spring Boot ספציפית. כהפניה, דף פרויקט ענן האביב מכיל את טבלת התאימות.

4. מסקנה

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