إدماج مستمر

على سبيل التعريف، الإدماج المُستمِر اختصاراً CI، هو مصطلح خاص بهندسة البرمجيات يصف أسلوبًا في تطوير البرمجيات يتسم بتواصل عملية إعادة بناء تطبيق ما، بمزامنة نسخ عمل جميع المطورين في خط رئيسي مشترك عدة مرات في اليوم، مصحوبة باختباره بصفة متكررة. ونتناول فيما يلي مزيدًا من التفاصيل.
إضافةً إلى ذلك، اقترح غرادي بوش لأول مرة مصطلح CI في ، على الرغم من أنه لم يدافع عن التركيب عدة مرات في اليوم. اعتمدت البرمجة القصوى (XP) مفهوم CI ودعت إلى التركيب أكثر من مرة واحدة في اليوم والذي قد يصل إلى عشرات المرات في اليوم.
وعلى صعيد آخر، إعادة البناء بصفة دورية يمكن اعتباره تركيبا متواصلا في حال إذا ما كانت فترات البناء متقاربة بشكل كاف.
وعلى صعيد آخر، الطريقة الأكثر شيوعا في التركيب المتواصل هي التركيب المتواصل الآلي (Automated Continuous Integration) حيث يقوم السرفر بمراقبة كافة التغييرات بكل نسخة وتشغيلها مع إعادة البناء آليا ثم اختبارها. يقوم السرفر كذلك بعمل إحصائيات بما تم انجازه.
إضافةً إلى ذلك، بدأ العمل بهذا الأسلوب في البرامج الضخمة من خلال عملية بناء تسلسلية. بنهاية مهمة ما، يقوم المبرمج بأخذ الجزئية الخاصة بمهمته من المصدر (source code repository) ثم يعيد بناءها وتشغيلها مع اختيارها. إذا نجح التشغيل والاختبارات، يقوم المبرمج برد تلك الجزئية إلى المصدر مرة أخرى.
اختبار موحد لجميع التغييرات
توافر عينة (Demo) غير نهائية من البرنامج طوال فترة البناء
من جهة ثانية، النظام نفسه يعمل كحافز للمبرمجين على العمل بصورة تراكمية ويقصر الفترات التي تستغرقها التعديلات التي تدخل على عمل كل منهم
متطلبات العملية
إضافةً إلى ذلك، أن يكون الكود المصدري مشتركاً بين المبرمجين باستعمال أدوات مثل نظام النسخ المتلاقية وجت وميركوريال.
- المزايا الأساسية
- اكتشاف وحل المشاكل بشكل سريع ومستمر
- الإنذار المبكر بوجود أخطاء أو ssIncompatible Code
تتطلب هذه العملية:
ومن ناحية أخرى، أن يقوم المبرمج بإعادة المصدر إلى السرفير (commit) على الأقل يومياً بعد التعديل.
في هذا الإطار، أن يتم عمل اختبارات تركيب (Integration testing) للتحقق من صحة التطبيق باستعمال أدوات مثل JUnit.
📝 هل في هذه المقالة خطأ؟
إذا وجدت معلومة تحتاج تصحيحاً أو إضافة، أو أردت حذف المقالة، أرسل لنا طلباً وسنراجعه.
ما رأيك في هذه المقالة؟