خط CI/CD — من الإيداع إلى بيئة الإنتاج
خط CI/CD على لوحة تفاعلية: الإيداع، والبناء، والاختبارات، والتحزيم، والنشر إلى بيئة الاختبار ثم بيئة الإنتاج، والبوابات التي تقرّر بقاء الإصدار من عدمه.
يؤتمت CI/CD الطريق من إيداع الشيفرة إلى بيئة الإنتاج: فالتكامل المستمر يبني كل تغيير ويختبره، والتسليم المستمر يحزمه وينشره عبر بوابات تقرّر ما إذا كان الإصدار سليماً بما يكفي ليبقى.
خط CI/CD — من الإيداع إلى بيئة الإنتاج
لوحة FlowJam التفاعلية لهذا الشرح — كل مسار وصف وسهم أعلاه جزء من مخطط QueryChart حقيقي يمكنك فتحه وتعديله.
كيف تقرأ هذا الشرح المرئي
- اقرأ الأعمدة الخمسة من اليسار إلى اليمين: الإيداع، ثم البناء والاختبار، ثم التحزيم، ثم النشر، ثم المراقبة.
- تابع التغيير عبر المسارات: فهو يغادر المطوّر، ويعالجه خادم CI، ويستقر في السجلّ، ثم يعمل على هدف النشر.
- القراران بوابتان — و«لا» عند أي منهما ترسل التغيير إلى نقطة نهاية إخفاق صريحة بدل المضي قدماً.
البناء والاختبار
«المطوّر يُودِع الشيفرة» يبدأ المسار، و«خادم CI يبني التطبيق» و«تشغيل اختبارات الوحدة واختبارات التكامل» هما عمل التكامل المستمر: فكل إيداع يُترجم ويُختبر على حدة. و«هل اجتازت كل الفحوص؟» هي البوابة التي أعطت CI اسمه — إذ يُرفض الإيداع الفاشل عند «فشل البناء — أصلح وأعد الإيداع» قبل أن يلوّث تدفق النواتج.
التحزيم والنشر
«تحزيم الناتج ودفعه إلى السجلّ» ينتج البناء الموثّق برقم إصدار وغير القابل للتغيير — وهو بعينه ما سيعمل. و«النشر إلى بيئة الاختبار وتشغيل اختبارات التحقق السريع» يثبته في بيئة شبيهة ببيئة الإنتاج، ثم يطلقه «النشر إلى بيئة الإنتاج». ومسار السجلّ هو نقطة التسليم: فالناتج يُبنى مرة واحدة وتستهلكه كل مرحلة لاحقة، وهذا ما يجعل النسخة المنشورة مطابقة للنسخة المختبَرة.
بوابة المراقبة
«هل الوضع سليم بعد النشر؟» هو القرار الأخير: فالمقاييس والسجلات والتنبيه بعد الإصدار هي ما يقرّر بين «الإصدار حيّ وتحت المراقبة» و«الرجوع إلى آخر إصدار سليم». والتراجع مرسوم كخطوة حقيقية تعود إلى الحالة النهائية السليمة، لأن التراجع الآلي هو ما يجعل النشر السريع آمناً.
العلاقات الرئيسية والخلاصات
- CI هو البوابة قبل أن يُطلق أي شيء: ابنِ كل إيداع واختبره، وارفض الإخفاقات عند منبعها.
- الناتج الموجود في السجلّ يُبنى مرة واحدة ويعمل في كل مكان — وعليه تتوقف قابلية النشر للتكرار.
- بيئة الاختبار تثبت الناتج في بيئة شبيهة ببيئة الإنتاج قبل أن تراه بيئة الإنتاج.
- السلامة بعد النشر هي البوابة الحقيقية — فالمراقبة، لا نص النشر البرمجي، هي ما يقرّر بقاء الإصدار.
- الخط الذي بلا تراجع ليس آمناً للأتمتة؛ ولهذا ترسم اللوحة التراجع مساراً من الدرجة الأولى.
متى تستخدم هذا الشرح المرئي
- تعليم فريق الفرق بين التكامل المستمر والتسليم المستمر قبل أن يبني خطه.
- تصميم خط: فالبوابتان تحددان أين يجب أن تتوقف الأتمتة وأين يبدأ الحكم البشري (أو التراجع).
- تدقيق خط قائم — فغياب بوابة السلامة يعني إصداراً يعمل بلا قرار.
كيف تعمل
ارسم مراحل خطك الفعلية
استبدل المراحل العامة بالمراحل التي يشغّلها CI لديك — التدقيق الآلي للشيفرة، وبناء الحاوية، وترحيل قواعد البيانات، والإصدار التجريبي المحدود — مع إبقاء بوابة قبل إطلاق أي شيء.
سمِّ فحوصك
علّق على مربع الاختبار بمجموعات الاختبار والفحوص الأمنية التي تشغّلها فعلاً، وبما تشترطه بوابة «هل اجتازت كل الفحوص؟» زيادةً على اختبارات الوحدة.
أضف فرع الإصدار التجريبي المحدود
أدرج خطوة إصدار تجريبي محدود بين بيئة الاختبار وبيئة الإنتاج — وجّه نسبة صغيرة من حركة البيانات إلى النسخة الجديدة وراقب بوابة السلامة قبل الطرح الكامل.
حدّد آلية التراجع
على مربع التراجع، دوّن ما يفعله فعلاً في نظامك — إعادة نشر الصورة السابقة، أو استعادة نسخة احتياطية لقاعدة البيانات — ومن أو ما الذي يشغّله.
الأسئلة الشائعة
ما الفرق بين CI وCD؟
التكامل المستمر (CI) هو ممارسة بناء كل إيداع واختباره آلياً، حتى تظهر المشكلات لحظة إدخالها لا عند الإصدار. أما التسليم المستمر (CD) فيأخذ مخرجات CI ويؤتمت طريقها إلى النشر — التحزيم، وبيئة الاختبار، والإطلاق — مع بوابات تقرّر متى يكون ذلك آمناً. فـCI هو البوابة الأولى في الخط، وCD هو كل ما يليها.
لماذا البوابات مهمة في خط CI/CD؟
لأن الأتمتة تزيل نقاط التفتيش البشرية التي كانت تلتقط المشكلات. وبوابات الخط تحل محلها بقرارات: بوابة الاختبار توقف بناءً فاشلاً قبل إطلاقه، وبوابة السلامة توقف إصداراً سيئاً بعد إطلاقه. ولهذا يرسم الشرح المرئي كلتيهما بشكل قرار — فالخط لا يُوثق به أكثر مما يُوثق ببواباته.
ما التراجع ولماذا يحتاج إليه الخط؟
التراجع هو إعادة النظام إلى آخر إصدار معروف بسلامته حين يفشل إصدار بعد نشره. والخطوط تحتاج إليه لأن فحوص السلامة ناقصة، ولأن بيئة الإنتاج قد تسيء التصرف بطرق لم تُظهرها بيئة الاختبار قط. والتراجع الآلي هو ما يتيح للفرق النشر بوتيرة متكررة — إذ تصبح كلفة إصدار سيئ عمليةَ رجوع لا حادثة.
أين يقع سجلّ النواتج من هذا كله؟
السجلّ هو المكان الذي يعيش فيه الناتج المبني موثّقاً برقم إصدار. وكل مرحلة لاحقة — بيئة الاختبار، وبيئة الإنتاج، والتراجع — تنشر الناتج نفسه من السجلّ، لا بناءً جديداً. وهذا ما يجعل الشيفرة المنشورة مطابقة للشيفرة المختبَرة، وهو أيضاً ما يجعل التراجع آمناً: فآخر إصدار سليم ما زال في السجلّ.
عدّل هذا الشرح المرئي في QueryChart (FlowJam)
افتح لوحة CI/CD هذه نفسها كمخطط خاص بك، وأعد تسمية المراحل لتطابق خطك، وأضف بواباتك الحقيقية.