كيف تجد الاختناقات في عملية إصدار البرمجيات

ارسم عملية الإصدار كمخطط انسيابي، واحسب ما يخرج من كل قرار، ثم اعرض الأعداد كمخطط سانكي. اعرف البوابة التي تفشل عندها الإصدارات أو تعود أو تنتظر أطول.

الاختناق في الإصدار هو البوابة التي يتكدس عندها العمل أو يفشل أو يعود. يرسم هذا الدليل العملية أولًا، فتصير كل بوابة قرارًا بمخارج مسمّاة، ثم يحسب الإصدارات عبر هذه المخارج.

باختصار

  • ارسم العملية قرارات بمخارج مسمّاة قبل أن تحسب أي شيء.
  • احسب الإصدارات (أو عمليات البناء) عبر كل مخرج لفترة واحدة.
  • البوابة ذات فرع العودة العريض اختناق، حتى لو كانت سريعة.
  • اعرض الأعداد كمخطط سانكي، واستخدم المخطط الانسيابي لتفسيرها.

ابدأ بالبوابات لا بالأرقام

يبحث الفرق عادة عن الخطوة البطيئة بحساب متوسط المدد. وهذا يجد المهام البطيئة، لكنه لا يجد البوابات التي تعيد العمل إلى الوراء. قد يقضي الإصدار يومًا في الاختبار ويخسر أسبوعًا، لأن اختبارًا فاشلًا يعيده إلى خطوة الإصلاح فتعاد الدورة. والطريقة لرؤية ذلك أن ترسم العملية بقراراتها وتحسب كم إصدارًا أخذ كل مخرج.

يعطيك المخطط الانسيابي البنية: لكل قرار فروع مسمّاة، ولكل فرع عدد. المثال عملية إصدار بأربعة قرارات: الاختبارات الآلية، والمضي أو الإيقاف، وسلامة الإنتاج، وعيوب الإنتاج. وحين تصير لديك أعداد لكل فرع يعرضها مخطط سانكي كعروض. انظر /ar/sankey/ci-pipeline-outcomes لمرحلة البناء، و/ar/sankey/pull-request-review-flow لمرحلة المراجعة التي تسبقها.

ابقَ متواضعًا في الاستنتاج. تُظهر الأعداد أين يغادر العمل البوابة لا لماذا. فالسبب يأتي من قراءة العناصر الفاشلة ومن الناس الذين يديرون البوابة.

عملية إصدار مبنية على مراحل

عشرون خطوة وأربعة قرارات. كل قرار موضع يُظهر فيه مخطط سانكي العمل يغادر في اتجاهين.

  1. البناء والاختبارات الآلية

    تبدأ العملية من اكتمال الكود، وتجمّد النطاق، وتشغّل الاختبارات الآلية. للقرار الأول «هل نجحت الاختبارات الآلية؟» فرع «إخفاق» يعود عبر خطوة الإصلاح إلى البناء. هذه الحلقة أول موضع للعدّ.

  2. بيئة التجريب والاعتماد وقرار المضي

    النسخة الناجحة تذهب إلى بيئة التجريب والانحدار واختبار القبول، ويُعدّ سجل الجاهزية ويُعتمد. وللقرار «المضي أم الإيقاف؟» فرع «إيقاف» يعود إلى خطوة الإصلاح، فقد يعود الإصدار من وقت متأخر في العملية.

  3. الإنتاج وطريق العودة

    يُنشر الإصدار في نافذته ويخضع لاختبارات التحقق السريع. «هل الإصدار سليم؟» يقسم إلى المراقبة أو إلى تراجع يعود إلى خطوة الإصلاح. التراجع أغلى المخارج، فعدده الأهم.

  4. المراقبة والإصلاح العاجل

    بعد فترة الاستقرار، «هل ظهر عيب في الإنتاج؟» يرسل الإصدار إلى إصلاح عاجل يعود عند النشر، أو إلى ملاحظات الإصدار والإغلاق. احسب كم مرة يُسلك فرع الإصلاح العاجل.

كيف تعمل

  1. ارسم العملية بقراراتها

    ضع كل بوابة قرارًا بمخارج مسمّاة، مثل «نجاح» و«إخفاق». فالبوابة المرسومة خطوة عادية تخفي المخرج الذي تريد عدّه.

  2. اختر فترة ووحدة

    خذ آخر ربع سنة واحسب الإصدارات، أو عمليات البناء إن كنت تُصدر كثيرًا. وبيّن أيهما في ملاحظة البيانات.

  3. احسب ما يخرج من كل قرار

    احسب لكل قرار كم عنصرًا أخذ كل مخرج. خذ الأرقام من نظام التكامل أو التذاكر أو سجل الإصدارات.

  4. ارسم الأعداد كمخطط سانكي

    اجعل القرارات عقدًا والمخارج تدفقات. وتحقق من أن الداخل إلى كل عقدة يساوي الخارج منها.

  5. اقرأ أعرض فروع العودة أولًا

    أعرض فرع يشير إلى الوراء هو الاختناق المحتمل. اقرأ عناصره لتعرف السبب.

أخطاء ينبغي تجنّبها

  • عدّ النتيجة النهائية فقط

    إن عددت ما صدر فقط اختفت الحلقات. احسب عند كل قرار، وإلا سيُظهر مخطط سانكي عملية سلسة لم تحدث.

  • خلط الوحدات

    عمليات البناء والإصدارات والتذاكر وحدات مختلفة. اختر واحدة للمخطط كله وبيّن ذلك.

  • قراءة الأعداد كأسباب

    فرع الإخفاق العريض يقول إن الاختبارات تفشل كثيرًا لا لماذا. انظر في العناصر الفاشلة قبل تغيير العملية.

افتح المخطط الانسيابي لإصدار البرمجيات

افتح قالب الإصدار، وكيّف البوابات مع بواباتك، واحسب المخارج.

افتح المخطط الانسيابي لإصدار البرمجيات

أدلة ذات صلة

الأسئلة الشائعة

لماذا أرسم مخططًا انسيابيًا إن كنت أريد مخطط سانكي فقط؟

لأن المخطط الانسيابي يحدد ما هي العقد. بدونه يعرض سانكي المراحل التي تصدّرها أداتك، وهي غالبًا ليست البوابات التي يقرر الناس عندها.

كم إصدارًا أحتاج؟

يكفي أن يكون في كل مخرج أكثر من بضعة عناصر. وإن كانت أقل من نحو 20 فاعرض الأعداد في جدول لا في مخطط.

هل يغني هذا عن قياس زمن التسليم؟

لا. زمن التسليم يقول كم من الوقت، ومخطط سانكي يقول أين يغادر العمل أو يعود. استخدمهما معًا وقارنهما للفترة نفسها.

القالب الذي يقوم عليه هذا الدليل

مخطط انسيابي لعملية إصدار البرمجيات — مخطط انسيابي لعملية إصدار البرمجيات يغطي تجميد النطاق، وبوابة الاختبارات الآلية، وبيئة التجريب واختبار القبول، وقرار المضي أم الإيقاف، والنشر والتراجع والإصلاح العاجل.