אינטגרציה רציפה – הבדלי גרסאות

תוכן שנמחק תוכן שנוסף
הרחבה
מאין תקציר עריכה
שורה 1:
{{בעבודה}}
{{ניווט בהנדסת תוכנה}}
ב[[הנדסת תוכנה]], '''Continuous Integrationintegration''', בקיצור: '''CI''' ('''קונטיניוס אינטגריישן'''; בעברית: '''אינטגרציה רציפה''' או '''אינטגרציה מתמשכת''') היא שיטת עבודה בה כל סביבות הפיתוח עוברות מיזוג עם מוקד מרכזי משותף (repository או mainline באנגלית), כמה פעמים ביום (ראו: [[ניהול גרסאות]]). שיטת עבודה זו התגבשה לראשונה כחלק מ-[[Extreme Programming]]. המטרה הראשית של CI היא למנוע תקלות [[שילוב מערכות|אינטגרציה]], המכונות לעיתים integration hell ("גיהנום האינטגרציה"; על משקל תקלת תוכנה ידועה אחרת בשם [[DLL hell]]).
 
במקור CI יועדה לשימוש בשילוב עם [[בדיקות יחידה]] [[אוטומציה|אוטומטיות]] אשר נכתבות כחלק מ[[פיתוח מונחה-בדיקות]]. תחילה הרעיון היה להריץ בדיקות יחידה כדי לוודא שכולן עברו בהצלחה לפני הגשת הקוד החדש למוקד המרכזי (ביצוע commit ל-repository). פיתוחים מאוחרים יותר של השיטה הכניסו שימוש ב[[שרת|שרתי]] [[בניית תוכנה|בנייה]] (build servers) אשר מריצים אוטומטית בדיקות יחידה מעת לעת או אפילו לאחר כל commit, ומדווחים על תוצאות הבדיקות ל[[מתכנת|מפתחים]]. השימוש בשרתי בנייה (אשר לא בהכרח מריצים בדיקות יחידה) היה בשימוש גם על ידי צוותי פיתוח שאינם עובדים בשיטת ב-extreme programming. כעת הרבה ארגונים אימצו את שיטת ה-CI מבלי לאמץ את כל יתר השיטות של XP.