مخطط سانكي لنتائج خط التكامل المستمر: من المحفِّز إلى سبب الإخفاق
تتبّع تشغيلات خط التكامل من المحفِّز إلى النتيجة وسبب كل إخفاق: اختبارات متقطعة أو انحدارات حقيقية أو إعداد أو بيئة. استبدل الأعداد التجريبية بسجل التكامل لديك.
يُظهر مخطط سانكي لخط التكامل المستمر كيف تنتهي عمليات البناء حسب المحفِّز ولماذا تفشل. ويفصل الإخفاقات ذات المعنى (الانحدار) عن التي لا معنى لها (الاختبار المتقطع).
في المثال 900 تشغيل لخط التكامل من ثلاثة محفِّزات: الدفع إلى الفرع الرئيسي وطلبات الدمج والبناء الليلي. ينجح 760 في كل المراحل ويفشل 140، عند البناء (37) أو الاختبارات (96) أو النشر (7). ويعطي العمود الأخير السبب: اختبار متقطع، أو انحدار حقيقي، أو خطأ في الكود، أو تبعية أو إعداد، أو بيئة الاختبار.
تخفي نسبة النجاح التركيبة. في المثال 35 من إخفاقات الاختبارات الـ96 متقطعة، وهذه مشكلة ثقة في المجموعة، و45 انحدارات حقيقية، وهذا خط التكامل يؤدي عمله. الأعداد تشغيلات لا إيداعات، فإعادة المحاولة تشغيل. ولمرحلة المراجعة التي تسبقه انظر /ar/sankey/pull-request-review-flow، ولعملية أوسع /ar/guides/كيف-تجد-اختناقات-عملية-إصدار-البرمجيات.
كيفية قراءة هذا المخطط
- ينجح 760 من 900 تشغيل (84%) في كل المراحل؛ ويفشل 140 (16%).
- الاختبارات أكثر نقاط الإخفاق شيوعًا: 96 من 140 إخفاقًا (69%).
- 35 إخفاقًا اختبارات متقطعة، أي 25% من الإخفاقات، و45 انحدارات حقيقية.
- تنجح تشغيلات طلبات الدمج 82% من المرات (410 من 500)، والفرع الرئيسي 90% (270 من 300).
البيانات وراء المخطط
أرقام مختلقة للتوضيح. ليست بيانات عن أي شركة أو فريق أو نظام حقيقي.
| من | إلى | الكمية (تشغيلات الخط) |
|---|---|---|
| دفع إلى الفرع الرئيسي | نجح في كل المراحل | 270 |
| دفع إلى الفرع الرئيسي | فشل عند البناء | 8 |
| دفع إلى الفرع الرئيسي | فشل عند الاختبارات | 17 |
| دفع إلى الفرع الرئيسي | فشل عند النشر | 5 |
| طلب دمج | نجح في كل المراحل | 410 |
| طلب دمج | فشل عند البناء | 25 |
| طلب دمج | فشل عند الاختبارات | 65 |
| ليلي | نجح في كل المراحل | 80 |
| ليلي | فشل عند البناء | 4 |
| ليلي | فشل عند الاختبارات | 14 |
| ليلي | فشل عند النشر | 2 |
| فشل عند البناء | خطأ في الكود | 15 |
| فشل عند البناء | تبعية أو إعداد | 22 |
| فشل عند الاختبارات | اختبار متقطع | 35 |
| فشل عند الاختبارات | انحدار حقيقي | 45 |
| فشل عند الاختبارات | البيئة | 16 |
| فشل عند النشر | تبعية أو إعداد | 3 |
| فشل عند النشر | البيئة | 4 |
البيانات نفسها بصيغة CSV
source,target,value
دفع إلى الفرع الرئيسي,نجح في كل المراحل,270
دفع إلى الفرع الرئيسي,فشل عند البناء,8
دفع إلى الفرع الرئيسي,فشل عند الاختبارات,17
دفع إلى الفرع الرئيسي,فشل عند النشر,5
طلب دمج,نجح في كل المراحل,410
طلب دمج,فشل عند البناء,25
طلب دمج,فشل عند الاختبارات,65
ليلي,نجح في كل المراحل,80
ليلي,فشل عند البناء,4
ليلي,فشل عند الاختبارات,14
ليلي,فشل عند النشر,2
فشل عند البناء,خطأ في الكود,15
فشل عند البناء,تبعية أو إعداد,22
فشل عند الاختبارات,اختبار متقطع,35
فشل عند الاختبارات,انحدار حقيقي,45
فشل عند الاختبارات,البيئة,16
فشل عند النشر,تبعية أو إعداد,3
فشل عند النشر,البيئة,4كيف تعمل
صدّر تشغيلات الخط لفترة واحدة
أدرج المحفِّز وأول مرحلة فاشلة والنتيجة. وأبقِ إعادات التشغيل تشغيلات منفصلة.
سمِّ سبب كل إخفاق
استخدم قائمة قصيرة: متقطع وانحدار وخطأ كود وإعداد وبيئة. والإخفاق بلا سبب يذهب إلى «غير معروف»، وإظهاره مفيد.
احسب المحفِّز فالنتيجة فالسبب
احسب كل تشغيل مرة واحدة بحسب أول مرحلة فاشلة.
تحقق من التوازن
يجب أن يخرج من كل مرحلة فاشلة بقدر ما دخل إليها. وينتهي «نجح» عند العمود الثاني.
الأسئلة الشائعة
كيف أفرّق بين الاختبار المتقطع والانحدار؟
قاعدة شائعة أن الاختبار الذي يفشل ثم ينجح عند إعادة المحاولة دون تغيير في الكود متقطع. استخدم القاعدة التي يعتمدها فريقك وأبقها ثابتة في كل فترة.
لماذا نعدّ التشغيلات لا الإيداعات؟
التشغيلات هي ما يسجله نظام التكامل. وإن أردت الإيداعات فاحسب كل إيداع مرة واحدة بنتيجته النهائية وبيّن ذلك في ملاحظة البيانات.
عدّل مخطط سانكي لخط التكامل المستمر
افتح المثال كمخطط خاص بك وأدخل أعداد خطك.