قرأتُ مقال Red Hat ما هو CI/CD؟ وقلم التظليل في يدي. هذه هي الأفكار التي احتفظتُ بها، بكلماتي الخاصة.

المسار: ثلاث مراحل في ثلاثة أماكن
كما أتصوّره، تعمل كل مرحلة في مكان مختلف:
| المرحلة | ما يحدث | أين |
|---|---|---|
| التكامل المستمر | بناء ← اختبار ← دمج | في بيئة التطوير (IDE) |
| التسليم المستمر | تُصدَر الشيفرة التي تم التحقق منها إلى المستودع تلقائيًا | على GitHub |
| النشر المستمر | تنتقل الشيفرة المُصدَرة إلى بيئة الإنتاج تلقائيًا | في بيئة الإنتاج |
تُسمّي Red Hat هذه الممارسات المترابطة مسار CI/CD (CI/CD pipeline).
لماذا يهمّ ذلك
مع تزايد حجم التطبيقات، يعني العمل دون CI/CD مزيدًا من الأخطاء وأعطال الشيفرة. يساعد CI/CD على «تقليل التعقيد، وزيادة الكفاءة، وتبسيط سير العمل». وعمليًا يعني ذلك أن:
- الشيفرة تنتقل من الإيداع (commit) إلى الإنتاج تلقائيًا،
- وقت التوقف يبقى في حدّه الأدنى،
- الإصدارات تصدر بشكل أسرع،
- ملاحظات المستخدمين تُدمَج أبكر وبوتيرة أعلى،
- وفي النهاية، يصبح العملاء أكثر رضا.
CI مقابل «يوم الدمج»
بدون CI، كثيرًا ما تدمج الفرق كل الفروع معًا في «يوم دمج» واحد، وهو عمل يدوي بطيء وسهل التعطّل. يستبدل CI ذلك بعمليات دمج متكررة في فرع مشترك واحد. وكل عملية دمج تُطلق اختبارات آلية، عادةً اختبارات الوحدات واختبارات التكامل، للتأكد من أن شيئًا لم يتعطّل.
ما خرجتُ به: مع وجود CI، يصبح العمل على فروع كثيرة أمرًا صحيًا لا مخاطرة.
الـ CD مرتين: التسليم مقابل النشر
- التسليم المستمر يُبقي الشيفرة جاهزة دائمًا للنشر، لكن شخصًا ما يظل هو من يقرر متى تنتقل إلى الإنتاج.
- النشر المستمر يزيل هذه البوابة اليدوية، فيمكن للتغيير «أن يصبح متاحًا خلال دقائق من كتابته (بشرط اجتيازه الاختبارات الآلية)».
أي أن النشر لا يكون آمنًا إلا بقدر جودة اختباراتك الآلية.
من DevOps إلى DevSecOps
يشترك DevOps وCI/CD في هدف واحد: نقل الفكرة من التطوير إلى الإنتاج بشكل أسرع. ويضيف DevSecOps أن الأمان مسؤولية مشتركة من البداية إلى النهاية، وجوهره مسار CI/CD آمن. تساعد فحوصات الأمان المبكرة (shift-left) والمتأخرة (shift-right) على حماية الشيفرة، ومنع تسرّب البيانات، والالتزام بالمعايير. وتبني هندسة المنصات (Platform engineering) على DevOps لتوسيع كل ذلك عبر الفرق.
ما التالي بالنسبة لي
كل مرحلة مما سبق تعتمد على اختبارات جيدة. ملاحظتي في الهامش تقولها بوضوح: «نحتاج أن نتعلّم المزيد عن الاختبار.» اختبارات الوحدات والتكامل هي موضوعي التالي.
المصدر: Red Hat، «ما هو CI/CD؟»، تاريخ التحديث 10 يونيو 2025. الاقتباسات مقتطفات قصيرة مترجمة، والباقي تلخيصي.