ما هو CI/CD؟
CI (Continuous Integration) — التكامل المستمر: دمج تغييرات الكود في المستودع الرئيسي بشكل متكرر، مع تشغيل اختبارات آلية لكل تغيير.
CD (Continuous Delivery / Deployment) — التسليم أو النشر المستمر: أتمتة عملية نشر التطبيق بعد اجتياز الاختبارات.
⚠️ لا تخلط بين التسليم المستمر (Continuous Delivery) والنشر المستمر (Continuous Deployment). الأول يتطلب موافقة يدوية للنشر، والثاني ينشر تلقائياً.
مكونات Pipeline أساسية
# مثال توضيحي لخط أنابيب CI/CD
pipeline:
stages:
- build
- test
- deploy
مراحل Pipeline نموذجية
- Build — بناء التطبيق وتجميعه
- Test — تشغيل اختبارات الوحدة والتكامل
- Analyze — تحليل جودة الكود
- Package — إنشاء حزمة قابلة للنشر
- Deploy — النشر إلى البيئة المستهدفة
فوائد CI/CD
- اكتشاف الأخطاء مبكراً قبل وصولها إلى الإنتاج
- تقليل الوقت المستغرق في المراجعة اليدوية
- تسليم إصدارات أكثر استقراراً
- أتمتة المهام المتكررة لتوفير وقت الفريق
مثال Pipeline نصي
# خطوات أساسية في أي pipeline
git clone https://github.com/user/project.git
cd project
npm install
npm run build
npm test
🎯 التالي: GitHub Actions — الأساسيات