Table of Contents
הקדמה: למה CI /CD Matters for Microservices
ארכיטקטורות מיקרו-שירותים הפכו לתבנית הדומיננטית לבניית יישומים מדרגיים, גמישים.על ידי קביעת יישום מונוליטי לשירותים בלתי חוקיים, צוותים יכולים להאיץ פיתוח, כישלונות מבודדים ורכיבים בקנה מידה באופן עצמאי.עם זאת, ניהול קבוצה של שירותים מציגה מורכבות כי תהליכים ידניים לא יכולים להתמודד. שילוב רציף ו Deployment רציף (CI/CD) הוא עמוד השדרה המאפשר לצוותים במהירות קוד, מאות שירות מהיר, או במהירות.
ללא אוטומציה, תיאום בנייה, בדיקות, פריסות על פני שירותים מרובים הופך לשגיאה-prone ואט. צינור CI /CD מתוכנן היטב מבטיח כי כל שינוי קוד נבנה באופן אוטומטי, נבדק, ופורז - גרימת טעות אנושית, קיצור של לולאות משוב, ו נותן לצוותים לשחרר לעתים קרובות. מאמר זה מספק מדריך מקיף, ייצור מוכן להגדיר CI /CD עבור צינורות microservices, ארכיטקטורות נפוצות, שיטות פעולה.
הבנה CI/CD בקונטקסט של Microservices
אינטגרציה רציפה (CI) היא הנוהג של בניית ובדיקה אוטומטית כל להתחייב למסגרת משותפת. בהקשר מיקרו-שירותים, זה אומר שלכל שירות יש צינורות משלו אשר מפעילה שינויים בבסיס הקוד של השירות הזה. Deployment (CD) מרחיבה על ידי פריסת שינויים מאומתים באופן אוטומטי לייצור - או לייצב סביבות - ללא התערבות אנושית.
ארכיטקטורות Microservices מציגות אתגרים ייחודיים עבור CI /CD:
- (FLT:0) שירותים בין-תלויים: שירותים 1FLT עשויים להיות תלויים חוזים (APIs, schemas) שנחשפו על ידי שירותים אחרים, הדורשים בדיקות מתואמות וגרסה.
- (FLT:0) מזחלות: ההרחבה 1 (השירות הראשון) כל שירות חי בדרך כלל במחסן שלו עצמו, מה שהופך שינויים בשירות חוצה ובדיקה מורכבת יותר.
- (FLT:0) אנציקלופדיה של ההרחבה:FLT:1 Services חייבים לפעול בסביבות צפויות, מה שהופך את המיכל והתשתית - כקוד חיוני.
- (FLT:0) פריסות גלנרולריות: צוותים 1FLT צריכים לפרוס שירותים באופן עצמאי, לעתים קרובות עם צימאונות שונים, תוך שמירה על יציבות המערכת הכוללת.
צינור CI /CD עבור microservices חייב להיות מיועד להתמודד עם אתגרים אלה תוך שמירה על היתרונות הליבה של האדריכלות: אוטונומיה, מהירות, וחוסן.המטרה היא לא ליצור צינור מונוליטי יחיד, אלא ליצור שכבת אוטומציה מבוזרת, מחוסמת כי משקף את המיקרו-שירותים עצמם.
המונחים: Microservices CI /CD Pipeline
כל צינורות מיקרו-שירותים CI /CD מורכבים ממספר שלבים מקושרים.הבנת רכיבים אלה מסייעת לך לעצב צינור שהוא קנה מידה, שמירה על, ומאובטח.
בקרת גרסאות ואסטרטגיה
Git הוא תקן דה-פו עבור בקרת גרסאות.עבור מיקרו-שירותים, לכל שירות יש בדרך כלל את המאגר שלו, אם כי מונורוpos משמשים גם בארגונים מסוימים.בחר אסטרטגיה של ענף התומך בפיתוח עצמאי ומחזורי שחרור.פיתוח מבוסס Trunk, שבו מפתחים עובדים על סניפים קצרים של זמן כי מתמזגים לעתים קרובות לתוך ענף מרכזי, עובד טוב עבור microservices כי הוא מקטין סכסוכים ומעודד קודים, לעתים קרובות יותר, דורש שימוש קודים.
להימנע מענפי שחרור ארוכים עבור שירותים בודדים - הם יוצרים גיהנום ואטים את הצינור. במקום זאת, להשתמש בגרסה סמנטית והודעות תג במחסן, תוך התבססות על אוטומציה כדי לקדם את הבנייה באמצעות סביבות.
בנייה אוטומטית ואריזות
כל מיקרו-שירות חייב להיבנות לתוך חפץ פורה.כלולים - באמצעות שימוש ב-FLT:0DockercioFLT:1 - הם הבחירה הסטנדרטית כי הם אורזים את השירות עם תלות במשרה רצופה, הבטחת עקביות על פני פיתוח, בדיקות וייצור. ליצור FLT:0 עבור כל שירות שמייצר תמונה מינימלית, בטוחה לשימוש רב-שלבי בונה כדי לשמור תמונות קטנות ולהפחית את פני השטח.
(ה) עיין ב[[המאה ה-20]], ב[[1924]], [[1924]], [[1924]]]], [[1924]]]]]], [[1924]]]]]]]], [[1924]]]]]]]]]], [[1924]]]]]]]]]]]]]]]], [[1924]]]]]]]]]]]]]]]]]], [[1924]]]]]]]]]]]]]]]]]]]]]]]]]]]]]], [[1924]]]]]]]], [[1924]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]] [[1924]]]]]]]]]]]] [[1924]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]
בדיקה אוטומטית
בדיקה היא הלב של צינור CI /CD.ללא בדיקה מעמיקה, פריסה אוטומטית הופכת מסוכנת. עבור מיקרו-שירותים, אסטרטגיה של בדיקות רב-שכבות היא חיונית:
- (ב) מבחנים:0 (לא-די-דיוט): 1:1 , מבחן פונקציות אישיות ושיעורים בבידוד.
- (ב) עיין בבדיקות הפחתת ה[[1924]]: [[1924]]]]]], [[1924]]]]]], [[1924]]]]]], [[1924]]]]]]]]]], [[1924]]]]]]]], [[1924]]]]]]]]]]]], [[1924]]]]]]]]]], [[1924]]]]]]]]]]
- (ב) עיין בבדיקות ה-API של השירות:0 (ב) עיין ב-API של השירות לדבוק בחוזים הצפויים על ידי הצרכנים שלו.כלי כמו FLT:2PactigtureFLT 3 או FLT:4Spring Cloud חוזיםFLT:5 מאפשר שירותים לבדוק אחד נגד חוזים של השני ללא אינטגרציה מלאה.
- (ב) מבחנים:0 (סוף-סוף) ל-E2E:FLT 1 Test a workflow אשר משתרע על מספר שירותים.אלה איטיים ומחפירים, ולכן הם מפעילים אותם בספיגה – באופן חד-משמעי על הענף הראשי או על שחרור מועמדים.
הפעל יחידות ובדיקות אינטגרציה בצנרת CI שלך מיד לאחר שלב הבנייה.כשל את הבנייה אם כל מבחן נכשל, ולספק משוב ברור למפתח.בדיקות חוזים יכול להיות מופעל בשלב נפרד כי אימות תאימות בין שירותים לפני פריסה.
שילוב מתמשך: בניית אוטומטית ומבחן על כל מחויבות
(ה) בחרו כלי שתואם את המערכת האקולוגית שלכם.האפשרויות הפופולריות כוללות את ה-Ul:0GitHub ActionsssveFLT:1, FLT:2GitLab CI/CDIRLT 3, FLT:4Jenkins ConveFLT:5, FLT:6 CircleCIFLT 7, ו-FLT:8avis CIFERRERRERRERR.
- בדוק את הקוד
- החזר על תלות (אם יש צורך).
- לרוץ linters וניתוח סטטי.
- הפעל את הבדיקות
- בנו את החפץ (למשל, תמונת דוקר).
- הפעל בדיקות אינטגרציה באמצעות סביבות אמפיריות.
- הטמיעו את החפץ למרשם.
(ב) כל שירות צריך להיות מוגדר בקובץ 1FLT (עבור GitHub Actions) או (עבור GitLab) בתוך מאגר משלו, זה שומר את לוגיקה הצינורית משותפת עם קוד השירות ומאפשר לצוותים לפתח צינורות באופן עצמאי.
המונחים: Automating Rollouts
לאחר שמבנה עובר את כל הבדיקות ופורסם, שלב ה- CD מפיץ אותו לסביבת היעד.עבור מיקרו-שירותים, CD בדרך כלל כרוך במיזוג מכולות על אשכול המנוהל על ידי FLT:0KubernetesFLT:1 או פלטפורמה דומה.FLT:2 HelmFLT 3: 3 ⁇ s Kubnetes מתבטא עבור כל שירות, ומאפשר לך לנהל תצורה, תצורה, תצורה, וסודות משודרגים.
צינור ה- CD שלך צריך:
- חדור לסביבה מתפתלת באופן אוטומטי מהזרוע הראשית.
- הפעל בדיקות עשן ובדיקות אינטגרציה ב staging.
- אם הבדיקות עוברות, לקדם את אותו חפץ לייצור – או באופן אוטומטי או לאחר אישור ידני.
- השתמש באסטרטגיות פריסה כמו:0 (עדכון:0) ,(FLT:2 Blue-greenפריסs FLT 3: 3, או FLT:4canary exphFLT:5) כדי למזער את הסיכון.
- יישום גלגל אוטומטי: אם הפריסה נכשלת בדיקות בריאות או ניטור התראות אש, הצינור צריך לחזור לגרסה הקודמת.
(ב) , ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇
Best Practices for a Production-Ready Microservices CI/CDPiline
אימוץ שיטות הנכונות מההתחלה יחסוך לך מעבודות עבודה יקרות מאוחר יותר.כאן הם התרגילים הטובים ביותר עבור microservices CI /CD:
לשמור על שירותים באמת
כל שירות צריך להיות עצמאי.להימנע מתסריטי בנייה משותפים שיוצרים תלות בשירות הצלב (אם שירות A תלוי בשירות B's חפצים, השתמש במרשם חבילה (למשל, FLT:0npmFLT:1,FLT:2Maven CentralFLT 3:, F:4Docker RegistryFLT:5) במקום לשמר את אותם שירותים לאוטונומיה.
דגלים איכותיים למקורות בטוחים
דגלים איכותיים (המגפיים) מאפשרים לך למזג קוד לזרוע הראשית ולפרוס אותו לייצור מבלי לאפשר את התכונה עבור משתמשים.הפצה של הדלפקים הזו משחרור, ומאפשרת לך לבחון תכונות לא שלמות בייצור עם חשיפה מבוקרת.
יישום מעקב ואימות
צינור CI /CD הוא רק טוב כמו היכולת שלך לזהות בעיות לאחר פריסה. ניטור יישום (מדדים), כניסה (לוגים ממובנים), ו tracing (מחלוקת עקבות) עבור כל שירות.כאשר פריסה גורמת שגיאות, עליך לדעת מיד אילו שירות נכשל ומדוע. integrate מערכת ניטור שלך עם הכלי CI /CD שלך כדי כי רולבקים אוטומטיים יכול להיות מופעל על ידי התראות.
אוטומטי רולבק
קבלת ההחלטות האנושית במהלך גיל המעבר היא איטית וטעייה. בדיקת בריאות Define עבור כל שירות ולהגדיר את כלי ה- CD שלך כדי להתחיל באופן אוטומטי אם הפריסה נכשלת בדיקות בריאות או אם שיעורי השגיאה עולים.אחסן את הגרסה הקודמת של הפריט ואת המצב הקודם של הסביבה כך רולבק הוא לחץ אחד או פעולה אוטומטית.
ניהול סודות וידוי מאובטח
(ה) אין סודות בתצורת הצינור או תמונות המכולות שלך (המכונה:0 HashiCorpault VaultFLT:1,FLT:2AWS Secrets ManagerFLT 3:0GitHubFLT: 5) או FLT 6Kuberes:2AWS Secrets ManagerFLT 7 (עם הצפנה) לתוך סודות שונים של כלי קידוד (בקיצור של קידוד) לתוך סודות של כלי קידוד (בשיתוף)
שימוש ב- Infrastructure-as-code
(התשתיות של צינורות CI/CD - בניית שרתים, Kubernetes אשכולs, רשם מכולות, סודות - צריך להיות מוגדר ומסור באמצעות קוד, לא באמצעות שימוש בכלים כמו FLT:0TerraformFLT:1, ;2PulumiFLT 3: או FLT:4AWS Cloud formationF:5 כדי לנהל את הגירסה הזו, אשר נשלטת, או ניהול.
תלות ותיאום שירות
אחד החלקים הקשים ביותר של מיקרו-שירותים CI /CD הוא ניהול תלות בין שירותים.אם שירות A תלוי ב- API משירות B, כיצד אתה בודק שינויים בשני השירותים ללא פריצה?
בדיקות חוזים לצרכן
במקום להפעיל בדיקות מקצה לקצה מלא, השתמש בחוזים מונעים על ידי צרכנים (CDC) כל שירות צריכת מגדיר את החוזה שהוא מצפה מהספק.הצנרת CI של הספק מנהלת את החוזים מכל הצרכנים כדי לאמת אותו לא שבר אף אחד.זה תופס שינויים מוקדמים ו decouples פריסת צופיות.
APIs ו-Backward Compatibility
עיצוב ה- API שלך להיות תואם לאחור: להוסיף שדות חדשים אבל אל תסיר או לשנות את הקיים אלא אם כן אתה גירסה של API. השתמש בגירסה של כתובת URL (למשל, FLT 3:) או גרסה מבוססת ראש. כאשר אתה חייב לעשות שינוי פורץ, לשמור על הגרסה הישנה עד שכל הצרכנים היגרו.
שינוי ושחרור אוטומציה
באופן אוטומטי ליצור הערות שחרור מהודעות מבצעות או משיכת תיאורים של כלי גומלין כגון:0 (relrovtic-relrovanceFLT:1 או FLT:2Conventional CommitsveFLT 3) יכול לקבוע את מספר הגירסה הבאה המבוסס על סוג השינויים (patch, קטין, גדול) ופרסום השינוי.
המלצות כלים וטכנולוגיה
בחירת הכלים הנכונים עבור צינורות המיקרו-שירותים שלך CI /CD תלויה בכישורים של הצוות שלך, ספק הענן שלך, ואת ההשקעות הקיימות שלך.כאן הם כמה שילובים מוכחים:
- (ב) ,0) ניהול: ⁇ FLT:1; ג'ט באמצעות GitHub, GitLab, או Bitbucket.
- (FLT:0CI/CD Orchestration: FLT:1 GitHub Actions, GitLab CI/CD, ג'נקינס, או CircleCI.
- (ב) ⁇ :0) ⁇ : ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇
- (FLT:0)Container Register: FLT:1 Docker Hub, Amazon ECR, Google Container הרשמה, GitHuber הרשמה.
- (ב) ⁇ :0) אורצ'סטרציה / פלטפורציה: 1 Kubernetes with Helm ⁇ , או שירות פלטפורמה-as-a-Service כמו Heroku או Cloud Foundry.
- (ב) [15] ⁇ /GitOps: FLT:1 ארגוד, Flux, או Spinnaker.
- ניהול:0 (המזכירים: 0) 1 (HashiCorp Vault, AWS Secrets Manager, או Kubernetes חיצוני סודות.
- (ב) ,0) ,1 ,4 ,2 ,
- (ב) ⁇ :0) ⁇ : (ב) , (ב) , ⁇ ⁇ (ב) , ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇ ⁇
(ב) ,0) ,הבנה של רב-שלבי של תיעוד של ההרחבה: (ב) הוא משאב מצוין לקידוד תמונות מכולות, בעוד ש-FLT:2Kubernetes DeplomentssigmentalFLT 3 מספק את הבסיס לגלגלים אוטומטיים.
אבטחה ומילוי בקופס
כאשר אתה משתף יותר בתהליך המשלוח שלך, אבטחה חייבת להיות מוטבעת לתוך הצינור ולא להתרוצץ בסופו של דבר.
- (ב) עיין ב[[המאה ה-20]]: [[1924]]]]]] ו[[1924]]]]]], [[1924]]]]]]]], [[1924]]]]]]]]]] ו[[1924]]]]]], [[1924]]]]]]]], [[1924]]]]]]]], [[1924]]]]]]]]]]]]]], [[1924]]
- (ב) ,0) בדיקות אבטחה יישומים (SAST): אנליסט (ALT:1 אנליז קוד מקור עבור פגמים ביטחוניים באמצעות כלים כגון FLT:2SonarQubeFLT 3:, FLT:4CheckmarxreaFLT:5, או FLT:6Gitub CodeQLFLT 7LT 7.
- בדיקה אחרונה ב-17 במאי 2010. ^ ^ Commission:0.2017, App Security Testing (DAST): 1.RatFLT: 1 Test Running Applications for Security Issues, במיוחד ב- staging.
- (ב) ציות לחיוב: 0 (ב) 1 (ב) עיין כי השימוש ברישיונות מותר למנוע בעיות משפטיות.
- (FLT:0) בקרת גישה: ההרחבה 1 (FLT:1) גבול אשר יכול לאשר פריסות לייצור ומי יכול לשנות את הגדרות צינור. השתמש בחוקי הגנת סניף וסקירות הנדרשות.
המחאות אלה לתוך צינור CI שלך כך שגורמי הביטחון מתרחשים באופן אוטומטי על כל ביצוע, לא רק לפני השחרור.
עקבו אחרי The Pipeline עצמו
צינור CI /CD הוא חלק קריטי של תשתיות.אם הוא נכשל, אף אחד לא יכול לפרוס.עקוב אחר הצינור שלך עבור:
- בניית משך ומגמה - האטה מוקדמת
- שיעור הכישלון לשלב - זיהוי בדיקות מעופפות או סביבות לא יציבות.
- זמן קוהור - המציין בעיות יכולת ברצירצים או סוכנים של CI שלך.
- שיעור הצלחה של פריסות - מעקב אחר רולבקים ומבצעים כושלים.
השתמש באזהרות להודיע לצוות כאשר הצינור אינו בריא.קבע לוח נתונים שנותן לצוותים חשיפה לבריאות של כל צינור השירות.כאשר הצינור הוא אמין, מפתחים בוטחים בו ופורסים לעתים קרובות יותר - זהו המחזור המתפתל שאתה רוצה ליצור.
מלכודות נפוצות וכיצד להימנע מהם
גם עם הכוונות הטובות ביותר, פרויקטים מיקרו-שירותים CI /CD פגעו במלכודות נפוצות.כאן ניתן להימנע מהם:
- (FLT:0) over-reliance on end-to-end Testing: FLT:1 E2E בדיקות איטיות וגלועות. השתמש בתערובת של יחידה, אינטגרציה ובדיקות חוזים במקום. Run E2E רק על הענף הראשי או על שחרור מועמדים.
- (FLT:0 ענפים בעלי חיים:FLT:1rea) הם מובילים למזג סכסוכים ועיכובים באינטגרציה. השתמש בדגלים תכונה ופיתוח מבוסס גזע כדי לשמור על סניפים קצרים.
- (ב) אם אתה צריך אישור אנושי בכל פעם שירות A פריסה, אתה מאבד את המהירות של microservices.אוטומטיים.
- (ב) אם בניה של קבוצה אחת צורכת את כל המשאבים, אחרים חסומים.
- (ב) אם לא תבחנו את תהליך ה-RLT:0 (Ignoring rollback test: FLT:1) אם לא תבחנו את תהליך ה-Relback, הוא ייכשל כאשר תזדקקו לו באופן קבוע.
מסקנה: בניית מהירות וגמישות
הקמת צינור CI /CD עבור ארכיטקטורות מיקרו-שירותים אינה פרויקט חד פעמי - זהו משמעת מתמשכת מתפתח עם המערכת שלך.המטרה היא ליצור תהליך משלוח כי הוא כמו מחוספס, גמיש, ומדורג כמו השירותים שהוא פריסה. על ידי השקעה בבניין אוטומטי, בדיקות, מכולה, פריסה, אתה מאפשר לצוותים שלך להשתנות במהירות, בבטחה, באופן עצמאי.
התחל קטן: לבחור שירות אחד כדי מודל הצינור האידיאלי שלך, להוכיח את זה, ולאחר מכן להרחיב לאחרים. סטנדרטיזציה על סט הליבה של כלים ושיטות, אבל לאפשר לצוותים את הגמישות להסתגל לצרכים הספציפיים שלהם.לעקוב אחר הצינור כמו שאתה לפקח על שירותי הייצור שלך, ולשפר באופן מתמיד על בסיס נתונים משוב.
כאשר נעשה נכון, צינור CI /CD הופך יתרון תחרותי - הפחתת זמן לשוק, הגדלת תדירות הפריסה ושיפור האמינות של המערכת האקולוגית של המיקרו-שירותים שלך.עבור קריאה נוספת, ה-FLT:0Git CI / תיעודCD ⁇ FLT:1 מציע הדרכה תצורה מפורטת, ואת הבלוג FLT:2Directussrateds:FLT 3 מספק תובנות לתוך תבניות אספקה מודרניות.