CI/CD with Container technology
الكثير مننا يسمع عن هذة المصطلح CI/CD لكن الغالبيه لا يعرف معناه او لم يستخدمه فى حياته العمليه
وهذا طبيعا فى اغلب الحالات لانه عبارة عن ادوات مخصصه فى الاساس لل Developer
يمكن اتجاه وتخصص موقعنا وتخصصى بشكل شخصى بعيد عن هذة الادوات الخاصه بالبرمجه لذلك ترددت كثيرا قبل كتابه هذا المقال لبعدة عن مجالنا لكن ما شجعنى فى المقابل انى اتكلم عنه انه من احد اهم واقوى ال use case الخاص بال Container technology
هو ال Integration بينه وبين ال CI/CD
واى مبرمج شاطر ومتابع للتكنولوجيا والتطور هيفهم كلامى جيدا
لان باستخدام اى اداة التى تقوم بدور ال CI/CD مثل ال Jenkins على سبيل المثال سوف تختصر 90 فى المائه من الوقت من مراحل ال Application Lifecycle لعمل تطبيق جديد او تحديثه مرورا بمراحل ال Dev to QA to Prod
هذة المراحل يسهل دور اداه ال CI/CD لو عملت مع ال Container
للتوضيح ادوات ال CI/CD يمكن ان تعمل مع او بدون ال Container Technology لكن عندما تدمجهم مع بعض سوف تستفاد بشكل رهيب
لتوضيح ذلك لن اتحدث عن مراحل تصميم برنامج او اصدار لان هذا مجال خاص بالمرمجين ولست احسن واحد اكتب فيه
لكن سوف اتكلم عن ان البرنامج يمر بمراحل رئيسيه من التطوير Dev , QA , Prod هذة مراحل اساسيه يمكن اختصار او اضافه مراحل كما تحب لكن هذة المراحل المتفق عليها فى اغلب الشركات
كل مرحله منهم يحدث فيها تطوير واعدادت بشكل معين لا تهمنا فى هذة المقال لكن الذى يهمنى هنا انه فى اخر كل مرحله نحتاج ان نجرب هذا الكود ونختبرة
لذلك كنا فى الماضى ناخذ هذا الكود ونقوم باعدادة على PC or VM او حتى Server على حسب طبيعه كل برنامج وهذة عمليه بطيئه بالنسبه للمبرمج لانه يحتاج ان يقوم بها فى كل مره يقوم بتعديل الكود فيها وهى تغييرات كثيره فى مرحله التطوير
لكن مع العمل بال Container فهنا من يحدث السحر بمعنى الكلمه لانك من ادخل برنامج ال CI/CD تقوم بعمل Deploy للبرانامج مباشرتا فى صورة Container ويعمل خلال ثوانى ويمكن عمل منه عشرات النسخ
وايضا فى حاله انك قمت باى تعديل يعمل تحديث البرنامج داخل ال Container بشكل اتوماتيك بدون تدخل منك وايضا يمكن الرجوع لنسخ سابقه وهكذا وكل ذلك يحدث خلال ثوانى وبشكل شبه اتوماتيك نتيجة الاندماج بين ال CI/CD and Container
وبالطبع يمكن للجيمع الاستفادة من بقيه مميزات وفوائد ال Container technology غير موضوع السرعه والسهوله
حاليا اغلب الشركات البرمجه والسوفت وير الكبيرة تستخدمه بشكل اساسى حتى ولو على الاقل فى مراحل ال Dev and QA
طبعا الموضوع كبير وضخم وسوف يكون هناك فيديو هنقوم بوضعه فى الموقع قريبا لشرح وتوضيح هذا ال integration وناخد مثال على السرعه والسهوله فى التعامل فيما بينهم
من الجميل فى الامر ان كل ال CI/CD الموجودة بتدعم العمل مع اى Container Platform وايضا هناك انواع من ال Container Platform يوجد فيها CI/CD مدمج معها
الموضوع اكبر من تغطيته فى مقال واحد والموضوع شيق ومفيد جدا لكل المبرمجين ويعتبر اغلب المنتجات التى تحتاجها للتطبيق مجانيا او Opensource فيمكنك ان تجرب بسهولة
وهناك اطنان من الفيديوهات على اليوتيوب وكورسات كثيرة جدا لشرح هذا الموضوع باستفاضه
وبالتوفيق للجميع