GH GambleHub

היערכות צינורות ושחרורים

1) למה אתה צריך היערכות-צינור

צינור ההיערכות הוא נתיב פריט סטנדרטי מיחסי ציבור לייצור עם בדיקות איכות ובטיחות "כברירת מחדל. "מטרות:
  • הרכבה ושחרור רבייה;
  • משוב מהיר וצפוי;
  • מזעור סיכונים (גלגול פרוגרסיבי, פישפלאגים, גלגיליות);
  • ציות ושינוי שליטה.

2) זרימת אספקת התייחסות (ברמה גבוהה)

1. בדיקות אוטומטיות (מוך, יחידה, SAST, רישיונות).
2. בנה * תמונה דטרמיניסטית/חבילה, חתימה ו ־ SBOM.
3. בדיקה על Ephemeral # סביבה מקדימה ליחסי ציבור.

4. Merge # היערכות:
  • תצהיר תדמית;
  • חוזה -, אינטגרציה -, e2e-בדיקות;
  • DAST/IAST, נסיגות, טעינת עשן;
  • ידני UAT/QA במידת הצורך.
  • 5. שחרור מועמד (RC) # הקפאת חלון Prod (canary/blue-green).
  • 6. בדיקות פוסט-פריסה ופוסט אוטומטי לתקציב SLO/שגיאה.
  • 7. Runbook/Changelog # סגירה של שחרור ורטרוספקטיבה.

3) תבנית צינור תקנית של YAML (מהירות תריס)

yaml
.ci/release.pipeline.yml stages: [verify, build, test, stage, approve, release, post]

verify:
- run: make lint test:unit sbom sast sca build:
- run:
docker build -t registry/app:$GIT_SHA.
cosign sign registry/app:$GIT_SHA oras push registry/sbom:$GIT_SHA sbom.json test:
- run: make test:contract test:integration
- run: make deploy:preview && make test:e2e stage:
- run: make deploy:staging IMAGE=registry/app:$GIT_SHA
- run: make test:e2e:staging && make dast approve:
manual gate: CAB/QA lead
- type: manual required_roles: [release_manager, qa_lead]
release:
- run: make release:canary TRAFFIC=5%
- run: make release:progressive STEPS="5,25,50,100"
post:
- run: make verify:slo && make notify && make create:changelog

4) שערים וקריטריונים של מוכנות (שערי איכות)

קוד ואבטחה: סיכות, כיסוי, SAST/SCA, מדיניות תלות, אין קריטי/גבוה.
חוזים: תאימות של סכימות (API/events), בדיקת Pact/Buf.
בדיקות: יחידה/אינטגרציה/e2e p-סף, יציבות (flake-rate).
טען עשן: p95/p99 בתקציב, אין השפלה.
אין ממצאים קריטיים, תרחישי בדיקת עט למסלולים רגישים.
תצפית: לוחות מחוונים/התראות ”כקוד” מעודכן, ספרי הפעלה מצורפים.
CAB/UAT: אישור בחלונות שחרור (אם נדרש על ידי רגולציה/עסק).


5) אסטרטגיות שחרור

Canary - עלייה הדרגתית בנתח התנועה (5% = 25% = 50% = 100%), roll-forward/rollback אוטומטית עבור SLO וחריגות.
כחול-ירוק - מדיה מקבילה; החלפה מיידית, החלפה פשוטה.
מאפיין דגלים - הכללה לוגית של תכונות ללא פריסה מחדש; ”שיגור אפל” ויכולת A/B.
צל/תנועה שיקוף - תנועה פסיבית לרוץ לגרסה החדשה מבלי להשפיע על משתמשים.
פריסות טבעת - גלים לפי אזור/דייר.


6) גלגולים ושחרור מדיניות אבטחה

גלגול אוטומטי על ידי טריגרים: צמיחה בקצב שגיאה, p95/TTFB מעל הסף, צמיחה של 5xx/timeout, ספייק DLQ.
גלגול ידני: פקודה '/rollback <service> <sha> בצ 'אט, כפתור אחד בקונסולת שחרור.
הקפאת חלונות: שחרור לאירועים קריטיים (טורנירים/משחקי שיא) אסור.
Changelog & לשחרר הערות: דור מיחסי ציבור, תגיות SemVer, רכיבים, נדידות.


7) נדידת מסד נתונים ותאימות

Explox Migrate Action:

1. הוסף שדות/אינדקסים תואמים

2. פריסת יישומים (קריאה/כתיבה לשתי התוכניות);

3. נדידת נתונים עם עבודות רקע;

4. למחוק ישן.

מזימות מבוססות, נדידה אידמפוטנטית, הפעלה יבשה בהיערכות.

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


8) פישפלאגים והפעלה מתקדמת

דגלי מבצעים נפרדים (לפעולה בטוחה) ודגלי מוצר.
הכללה לפי קהל: אחוז, גיאו, דייר, תפקיד.
מדדי דגל: פגיעת המרה, איחור, שגיאות.
במקרה של בעיות - פיתול הדגל מהיר יותר מגלגול חוזר.


9) יכולת תצפית כחלק מהשחרור

עקבות: מקצה לקצה "trace _ id' מהשער ל DB/תורים; השוואה של גרסאות ישנות/חדשות.
מטריצות: p50/p95/p99, קצב שגיאה, RPS, רוויה, DLQ, מגש מחדש, Time-to-Wallet/Business KPI.
יומנים: מובנים, מסווה PII, "בקשה _ id' קורלציה.
תקציב SLO, עמודים דחופים בכוננות, לשחרר פיתול אוטומטי.


10) אבטחת שרשרת אספקה

SBOM לכל מבנה, אחסון וקשירה לתג השחרור.
חתימות תמונה (coseign), אימות על אשכול (כניסה למדיניות).
התקף SLSA: מקור חפץ מוכח.
מדיניות-as-Code (OPA/Confest): מכחיש-לפי-מחדל עבור תשתיות PRs.
סודות: KMS בלבד, אסימונים קצרי ימים, סיבובי צינורות.


11) שינוי שליטה ותהליכים

CAB: אנו מסכימים על השינוי המתועד של התנהגות/חוזים מראש.
שחרר לוח שנה: חלונות גלויים על ידי מוצר/אזור/צוות.
ספרי ריצה: עבור כל רכיב - הליכים לאישור/גלגול לאחור/אבחון.
לאחר המוות/רטרו: לאחר שחרור משמעותי - ניתוח ופעולה.


12) עריכת פרופילי מבחן

AFI/Events-Blocks לא מתאימים לשינויים.
Integration/e2e: תרחישים מקצה לקצה ”הפקדה”, ”קיי-סי”, ”משיכה”.
עומס עשן: פסגות נציג; אנחנו עוקבים אחר גבולות המשאבים.
תרחישי כאוס: ניתוק ספק, עלייה באיחור, התאמות רשת.
ניטור סינתטי: ”ניסוי” עסקאות בלוח זמנים.


13) Makefile דוגמה של מטרות שחרור (נתח)

makefile release: verify build test stage approve prod post verify:
@make lint test:unit sbom sast sca build:
docker build -t $(IMG).
cosign sign $(IMG)
test:
@make test:contract test:integration deploy:preview test:e2e stage:
kubectl apply -k deploy/staging approve:
@echo "Waiting for QA/CAB approval..."
prod:
make release:canary TRAFFIC="5 25 50 100"
post:
@make verify:slo notify changelog

14) תפקידים ואחריות

Dev/Team: איכות קוד, בדיקות, נדידה, ספרי ריצה.
QA: UAT/רגרסיה תרחישים, בקרת איכות על שערים.
SRE/פלטפורמה: אמינות צינור, תצפית, מדיניות.
מנהל שחרור: לוח שנה, חלונות, CAB, פתרון סופי.
אבטחה: SAST/DAST/SCA, שרשרת אספקה, מדיניות סודית.


15) שחרר מודל בגרות

1. בדיקות בסיסיות, שחרורים נדירים, גלגיליות קשות.
2. תקליטור CI/CD מתקדם, מתאם היערכות, קנרית/כחול-ירוק, משחרר תכופות.
3. שליחה פרוגרסיבית על ידי דיירים/אזורים, תציג דגלים-ראשונים, מדיניות-כקוד, SLO-העלאה אוטומטית, איתור מלא ו-SLSA.


16) מימוש מפת דרכים

M0-M1 (MVP): תבנית צינור, לבנות + סימן + SBOM, היערכות-פריסה, בדיקות ושערים בסיסיים.
M2-M3: קנרית/כחול-ירוק, תצוגה מקדימה ליחסי ציבור, בדיקות חוזה, DAST, בדיקות סינתטיות.
M4-M6: פלטפורמת דגלים, תנועת צל, מדיניות-כקוד, אוטומטי-rollback, לשחרר לוח שנה + CAB-עבודה.
M6 +: פריסת טבעות לפי אזור, הסמכת SLSA והודאה קפדנית, אוטומציה מלאה של ספרי ריצה.


17) רשימת בדיקות טרום שחרור

[ ] תמונה חתומה, SBOM נטען ושוחרר כבול.
[ חוזים ] מתאימים, בדיקות הן ירוקות, e2e עבר על היערכות.
[ ] הגירה נבדקה (run-run), גיבוי מוכן, תוכנית rollback מתוארת.
[ ] לוחות מחוונים/התראות עודכנו, שערי SLO פעילים.
[ ] Runbook וChangelog פורסם, לשחרר חלונות הסכימו.
[ דגלי ] מוגדרים להפעלה פרוגרסיבית.
[ ] הקפאה מוגבלת, הכוננות מוכנה.

מסקנה קצרה

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

Contact

צרו קשר

פנו אלינו בכל שאלה או צורך בתמיכה.אנחנו תמיד כאן כדי לעזור.

התחלת אינטגרציה

Email הוא חובה. Telegram או WhatsApp — אופציונליים.

השם שלכם לא חובה
Email לא חובה
נושא לא חובה
הודעה לא חובה
Telegram לא חובה
@
אם תציינו Telegram — נענה גם שם, בנוסף ל-Email.
WhatsApp לא חובה
פורמט: קידומת מדינה ומספר (לדוגמה, +972XXXXXXXXX).

בלחיצה על הכפתור אתם מסכימים לעיבוד הנתונים שלכם.