מילון מושגים
CI — Continuous Integration
נקרא גם: CI · Continuous Integration · אינטגרציה רציפה · שילוב רציף · CI/CD · CI pipeline · פייפליין · צינור בנייה · בדיקות אוטומטיות בכל שינוי · GitHub Actions · build אוטומטי · בנייה אוטומטית · Mainline · Green Build
הסבר פורמלי#
לפי מרטין פאולר, Continuous Integration היא שיטה שבה כל חבר צוות ממזג את השינויים שלו לבסיס הקוד המשותף לפחות פעם ביום, וכל מיזוג מאומת בבנייה אוטומטית שכוללת בדיקות, כך ששגיאות שילוב צפות במהירות. שלושה מאפיינים מרכזיים אצלו: ענף משותף אחד שמייצג את מצב המוצר (mainline), בנייה אוטומטית שמוגדרת בסקריפטים, ובנייה "בודקת-עצמה" שמריצה סט בדיקות אוטומטי, וכל בדיקה שנכשלה מכשילה את הבנייה.
CI נבדלת מ-CD (Continuous Delivery או Deployment), שעוסק במסירת הגרסה לסביבות ולמשתמשים.
הסבר בגובה העיניים#
במקום שעשרה אנשים יכתבו כל אחד פרק בספר במשך חודש ואז ינסו לחבר, כל אחד מצרף את הקטע שלו לכתב היד המשותף כמה פעמים ביום, ומגיה אוטומטי בודק מיד שהכול עדיין מתחבר. כך הבעיות קטנות וקל למצוא מי יצר אותן. בעבודה עם סוכני AI שמשנים קוד, CI היא רשת ביטחון שבודקת כל שינוי באותה צורה.
למה זה חשוב בפועל#
בפרויקט שיש בו Git ובדיקות, כדאי להגדיר שה-CI ירוץ על כל שינוי ויחסום מיזוג כשהוא נכשל. הוא טוב כמידת הבדיקות שמריצים בו, ובנייה ירוקה לא מבטיחה שאין באגים.
תגיות#
- ci
- testing
- automation
- git
- pipeline
מקורות#
- Martin Fowler — Continuous Integration — ההגדרה והפרקטיקות המרכזיות.