אינטגרציה רציפה ו Deployment רציפה (CI /CD) צינורות הפכו עמוד השדרה של משלוח תוכנה מודרני.הם לאוטומט שילוב של שינויים קוד, ביצוע בדיקות, פריסת יישומים, המאפשר לצוותים לשחרר תכונות מהר יותר ויותר אמין. עם זאת, כמו צוותים גדלים המורכבות - תוך שמירה על שלבים מרובים, כלים וסביבות - שמירה על בריאותם וביצועים הופך לאתגר זה הוא שבו ניטור וזיהוי מוקדם של חומרים, יכול לשפר באופן שיטתית, לעקוב אחר בעיות עיבוד, באופן שיטתי, מעקב, באופן שיטתי, הן יכולות להיות מפורטות, מעקב אחר חומרים קריטי, והן בשלב מוקדם, והן לבצע בדיקות.

הבנה ושילוב

(FLT:0)MonitoringFLT:1 הוא הנוהג של התבוננות במצב והתנהגות של צינורות CI /CD שלך בזמן אמת.זה מתמקד במדקים כמותיים כגון בניית משך, שיעורי הצלחה, צריכת משאבים ואורך תורים. דשלוחים ואזהרות הנגזרות של ניטור נתונים נותן צוותים מראה של בריאות צינורות והודעה מיידית כאשר משהו לא בסדר.

(FLT:0)LogingFLT:1 , לעומת זאת, לוכד תיעוד מטושטש, מזמנים של אירועים המתרחשים במהלך כל צינור.כל כניסה לרישום מכילה פרטים על מה קרה, מתי זה קרה, ולעתים קרובות מדוע זה קרה - כולל הודעות שגיאה, אזהרות, פיזור פעמוני, ומדונים קונטקסטואליים כמו ביצוע hashes ומשתנים תוך כדי ניטור תשובות "הוא עכשיו בריא, מה בדיוק נכשל" obative תשובה לא נכונה?"

ביצוע מעקב ב- CI/CD

בחירת כלי ניטור

(הופנה מהדף ⁇ ) , (ב) , ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇

מפתחי metrics to Track

מעקב הוא רק יקר כמו המדדים שאתה אוסף. להתמקד באינדיקטורים חיוניים אלה לבריאות צינורות:

  • (ב) שיעור ההצלחה של LT:0Build success rateFLT:1 - אחוז של בנייה שמלאה ללא שגיאות.
  • (ב) ,0) ,הבנה משך זמן רב (FLT:1) - מגמות גוברות מצביעות על חיקת מבחן, התכת משאבים או שלבים לא יעילים.
  • (ב) ,0) תדירות התדירות של התדירות של ה- 1 (FLT) – כמה פעמים מופעלות הפריסה. בשילוב עם אחוזי כשל, היא מגלה יציבות כוללת.
  • (ב) שיעור הכשלונות של ה-[[1924]], [[1924]]]], [[1924]]]], [[1924]]]], [[1924]]]], [[1924]]]]]]]], [[1924]]]]]]]]
  • (FLT:0) מעת לעת התאוששות (MTTR)IRLT:1) - זמן שנלקח כדי לשחזר את בריאות הצינור לאחר אירוע. קצר MTTR מציין אזהרות חזקות ותהליכי החלמה.
  • (FLT:0) ניצול מקורות ניצולים של ההרחבה:1 - CPU, זיכרון, דיסק I / O, והשימוש ברשת של בניית סוכנים או מיכלים. בקבוקי בקבוק ניתן לטפל על ידי דרוג או קידוד משרות.

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

יישום קידוד CI /CD

המונחים: Loging and Tooling

(ב) , (ב) , ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇

מה לעשות בכל שלב

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

  • (ב) [ה]הבא [ה]: [ה]] [ה]], [ה'], [ה'], [ה'], [ה'], [ה'], [ה'], [ה'], [ה'''ה''''''[ה'], ה''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
  • (FLT:0) התקנת ההרחבה של ניהול החבילה, שגיאות רשת, סכסוכים בגירסת גרסאות.
  • (ב) ויקרא י"א: ויקרא י"ד: ויקרא י"ד, ויקרא י"ד, ויקרא י"ד).
  • (ב) תוצאות מבחן, תוצאות מבחן, תזמון, סמנים במבחן.
  • (ב) ,0) , מיפוי סודיות (FLT:1 ), נמצאו פרצות, כישלונות.
  • (ב) ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇
  • (ב) ,0) ,DeploymentFLT:1 - סביבת היעד, אסטרטגיות רולט (כחול / ירוק, צנרי), תוצאות אישור.

השתמש ברמות יומן כראוי:0 (FLT:0) להתקדמות רגילה, עבור אנומלות מאוששות, 2 עבור כישלונות הדורשים תשומת לב.

שילוב ושילוב עם כלי CI /CD

(ב) כל פלטפורמה CI/CD מציעה נקודות הרחבה עבור ניטור ומיקום: ב-UFLT:0) ג'ינסומבייט (GitLab CIFLT) כדי לחשוף מדדים או להשתמש בתוסף Logstash כדי לקדם את הלוגים ל-Ostamstostostos (Ocacter) באמצעות LTsorates) LTs (Ocates) LTs) עם כל LTs) LTs.

שיטות הטובות ביותר למעקב ולתג

כדי להפיק את המרב מהשקעות האובססיביות שלך, בצע את הפעולות המוכחות האלה:

  • (ב) ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇
  • (FLT:0) השתמש בלוחם ממורכז.FLT:1 השקפה מאוחדת המשלבת בריאות צינורות בזמן אמת, כישלונות אחרונים, וחיפוש יומן מקטין את המעבר ההקשר.
  • (ב) [15] ,0) אזהרות ניתנות לפעולה (FLT) נמנעים מעייפות ערנית על ידי הגדרת רמות חומרת משקל ודיכוי רעש ידוע.
  • (FLT:0 קורנל ⁇ s ו- metrics.cioFLT:1) כאשר בניין נכשל, לקפוץ במהירות מן הפאנל המטרי לקווי יומן ספציפיים עבור אותו ביצוע.
  • (FLT:0) ,Retain יומניs באופן אסטרטגי.FreaLT:1) לשמור יומנים האחרונים (למשל, 7-30 ימים) עבור בעיות לפתרון וארכיון גלונים ישנים יותר עבור עמידה. Compress וחנות ב tiers יעילים עלות (S3 Glacier, וכו ').
  • (FLT:0) ניתוח יומן של קונסולת 1 (FLT:1), השתמש בזיהוי או זיהוי דפוס כדי לזהות כישלונות חוזרים (למשל, "מחוץ לדיסק" שגיאות) שינויים אלה מ ניטור תגובתי לשיפור פרואקטיבי.
  • (ב) כל פעם, סעיף 1 (FLT:0) וכל תג פרמטר צריך לשאת מספיק מידע כדי להבין את הסביבה, את גרסת הקוד, ולעורר אירוע.
  • (ב) ,0) ממורמרים את ההשגחה (ב"ג) , כאשר צינור המעקב שלך נכשל (למשל, יעד פרומתאוס ירד, יומני להפסיק להיות מבולג).

מלכודות נפוצות וכיצד להימנע מהם

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

  • (FLT:0) עייפות אלפרט (Alertעייפות) 1:1 יותר מדי אזהרות של בדידות נמוכה לגרום לדהירות.פתרון: סקירה של כללים ערניים, ערנות הקשורות לקבוצה, ולהשתמש במרווחי שתיקה עבור תחזוקה מתוכננת.
  • (FLT:0) העברת ההקשר בלוגים.FLT:1 Logs ללא מזהה צינורות או מבצע SHA להפוך את הקשר לבלתי אפשרי. Enforce בנתה logging מוקדם באמצעות תבניות או פונקציות ספריות משותפות.
  • (FLT:0) פורמטים ביוקויים עקביים.FLT1 שלבים שונים מייצרים שונים של schemas. סטנדרטיזציה על פורמט יחיד (למשל, JSON עם מפתחות מוסכם) בכל הכלים.
  • (FLT:0) אבחון נתוני מגמה.FLT:1 Teams לעתים קרובות להסתכל על מספרי גלם אבל לא בקצב של שינוי. השתמש בזמן-סדרה מזהיר לזהות השפלה הדרגתית לפני שהוא הופך להיות חריף.
  • (FLT:0)Over-intrumentation.FreaLT:1) יותר מדי מדדים מגבירים את הרעש והעלות. להתמקד במדדים המשפיעים ישירות על אמינות צינורות ופרודוקטיביות של מפתחים.
  • (הופנה מהדף LT:0) אין מדיניות שימור.10.1.G.L.L.L. עלויות אחסון בלונים.קביעת חלונות שמירה ברורים לסביבה (למשל, יומני ייצור נשמרים יותר מאשר פיתוח).

שיפור ביצועים פיפיריים עם תובנות של Data-Driven

ניטור ומיקום לא רק לעזור לתקן בעיות - הם חושפים הזדמנויות אופטימיזציה.לדוגמה, אם מדדים מראים כי בניית ספייקטים משך הזמן (הנוכחיים מצטברים על 5, אתה יכול להגדיל מקבילות הסוכן או refactor monorepo בונה למשרות אצווה קטנות יותר.אם יומני קורא לעתים קרובות להראות "נסוישיבה מהירה עקב זמן" עבור מודול ספציפי, כי בדיקות של מודול או פיצול לתוך טרנדים מתקדמים יותר עבור בדיקות אלקטרומטריות של בדיקות מהירות גבוהה יותר עבור בדיקות אלקטרומטריות.

מסקנה

ניטור ומיקום אינם תוספות אופציונליות - הם העיניים והאוזניים של צינורות CI /CD שלך. לוחות זמנים אמיתיים ואזהרות ממוקדות לשמור על מידע על בריאות צינורות, בעוד יומני מפורט לספק את הראיות הנזילות הדרושות כדי לפתור בעיות במהירות. על ידי אימוץ ריצוף מובנה, בחירת ערימה ניטור הנכון, הצבת התראות חכמות, ובאופן קבוע מחדש את שיטות הכדאיות שלך, אתה הופך את המערכת שלך לקיצור, לחץ דם חזק יותר, להתחיל עם לחץ דם יציב, ובסופו של המערכת.