סיור בפקד מקור ובפקד גירסאות
השימוש בפקדי המקור והגירסה הוא תרגול בסיסי של DevOps. זו גם דרישה מוקדמת לנוהלי עבודה כגון שילוב רציף ותשתית כקוד, ששניהם חיוניים לפוטנציאל המלא של DevOps. הארגון בתרחיש לדוגמה שלנו צריך לסקור את האסטרטגיה הנוכחית שלו לפיתוח תוכנה שיתופית ולעבר למודל בקרת גירסאות מבוזרת כגון Git, במיוחד בהתחשב בתוכניות שלו לשימוש ב- GitHub לניהול מחזור החיים של התוכנה שלו. עם זאת, פעולה זו דורשת הבנה צלילים של העקרונות של בקרת גירסאות ומקור והיתרונות שלהם, שנכסה כאן.
בקרת מקור ופקד גירסאות
המונחים בקרת מקור ופקדי גירסה של משמשים לעתים קרובות לחילופין, ובקשרים רבים, הם מתייחסים לאותו רעיון. באופן כללי, שניהם משויכים לנהל שינויים בקוד בסביבת פיתוח משותפת. עם זאת, ייתכן שתיתקל בתרחישים שונים יותר שבהם משמעותם שונה במקצת. בתרחישים אלה, בקרת מקור תיעד מערכת שמנהלת שינויים בקובצי קוד מקור בעוד ש- גירסה control כולל ניהול שינויים של כל סוג קובץ למטרות החורגות מקוד המקור בלבד. מעתה והלאה, למען העקביות, נשתמש במונח בקרת גירסאות של כדי לייצג מאגרי תוכנות שיתופיים מבוססי-Git הזמינים ב- GitHub וב- Azure DevOps.
מהם היתרונות של בקרת גירסאות?
בקרת גירסאות שומרת מעקב אחר שינויים בקבצים במסגרת טווח הניהול שלו. פעולה זו מציעה מגוון רחב של יתרונות:
היסטוריה ומעקב אחר גירסאות: באפשרותך לסקור את היסטוריית השינויים בכל קובץ, כולל היכולת לקבוע מתי כל שינוי בודד התרחש ומה היה הטווח שלו. פעולה זו גם מספקת יכולת מעקב, בדרך כלל על-ידי שיוך כל קבוצת שינויים למזהה ייחודי.
חזרה למצב קודם ושחזור: אם יש שגיאה או בעיה, באפשרותך להחזיר בקלות את השינויים כדי לשחזר את הגירסה המוכרת והעבודה של הקובץ המושפע.
הסתעפות ומיזוג של: אם עליך להרחיב את הפונקציונליות של הקוד הנוכחי על-ידי הוספת תכונה אחרת או תיקון באג שהתגלה לאחרונה, באפשרותך ליצור הסתעפות, המאפשרת לך לעבוד בנפרד מול בסיס הקוד הקיים. הענף החדש זהה בתחילה לענף הראשי המארח את הקוד הנוכחי. לאחר השלמת השינויים, תמזג את הענף החדש עם הענף הראשי. למרות שייתכן שזה עדיין יוביל להתנגשויות (אם מפתח אחר החליט לשנות את אותה קבוצת קבצים בינתיים באמצעות ענף אחר), הטווח שלו מוגבל ובדרך כלל ניתן לזהות ולפתר אותו בקלות.
שיתוף פעולה ופיתוח מקבילי: הקצאות לפתרון התנגשויות שהושלמה על-ידי יצירת הסתעפות ומיזוג מאפשרים למפתחים מרובים לעבוד על אותו בסיס קוד, מה שמגדיל את היעילות. עם מערכות בקרה מבוזרות, כגון Git, ניתן אפילו לחבר קוד במצב מנותק. שיתוף פעולה כרוך גם בביקורות עמית הדדיות של בקשות משיכה, קידום שיתוף ידע ושקיפות.
אוטומציה: בקרת גירסאות מהווה חלק חיוני משילוב רציף בפריסות אוטומטיות. ניתן להפעיל באופן אוטומטי גירסאות Build ובדיקות אוטומטיות בכל פעם שגירסה חדשה של הקוד נדחפת למאגר בקרת הגירסאות או ממוזגת עם הענף הראשי. ניתן לפרוס גירסאות שונות של הקוד בסביבות שונות.