التكامل المستمر والنشر المستمر

مكتمل

قبل تغيير البنية الأساسية لشركتك أو توزيعها، افهم ما تخطط لإنشاءه من خلال استكشاف المفاهيم الكامنة وراء التكامل المستمر (CI) والتسليم المستمر أو النشر (CD). في هذه الوحدة، ستتعرف على البنية الأساسية لبرنامج ربط العمليات التجارية CI/CD وكيفية تطبيق CI وCD مع GitHub Actions.

التكامل المستمر والتسليم المستمر هي ممارسات تشغيل تقدم التشغيل التلقائي المستمر والمراقبة في جميع مراحل تطوير البرامج واختبارها ونشرها. تستخدم فرق المطورين التكامل المستمر والتسليم المستمر لتكون أكثر إنتاجية وتساعد على تقليل المشاكل التي يمكن أن تنشأ عند دمج التعليمات البرمجية الجديدة في قاعدة تعليمات برمجية موجودة.

التكامل المستمر

قبل تطوير أدوات CI/CD، كانت عملية التطوير-الاختبار-النشر-الاختبار بأكملها يدوية. كانت مجموعات الاختبار الآلي متاحة، ولكن كان يجب تشغيلها يدويا أو في أوقات مجدولة من قبل فرق الخبراء.

أحد أهم التحديات التي واجهها مطورو البرامج هو يوم الدمج. حدث يوم الدمج لأن معظم فرق تطوير البرامج عملت على نفس التعليمات البرمجية في فروع التحكم بالمصادر المختلفة بأقل قدر من الاختبارات. في يوم الدمج، تم دمج جميع تغييرات التعليمات البرمجية مرة أخرى في الفرع الرئيسي. ونتيجة لذلك، كان لا بد من تخصيص يوم كامل لحل مشكلات التكامل مع دمج فروع أعضاء الفريق وتداخلها في الفرع الرئيسي.

مبدأ التكامل المستمر المهم هو دمج جميع التغييرات الجديدة مرة أخرى في الفرع الرئيسي في أكبر وقت ممكن. يساعد دمج التغييرات باستمرار على تجنب يوم الدمج "جحيم التكامل" الذي حدث عندما قام العديد من المطورين بدمج تغييراتهم في وقت واحد.

يتطلب CI أن تقوم الفرق بتنفيذ ودمج أصغر التغييرات في التعليمات البرمجية بشكل متكرر. يعني تنفيذ التكامل المستمر أن الفرق يمكنها الاختبار والتحويل البرمجي والنشر باستمرار ثم الاختبار مرة أخرى في الإنتاج. الهدف من CI هو الكشف عن مشاكل الإنتاج التي تسببها تغييرات التعليمات البرمجية وتجنبها قبل أن تؤثر على فرع التعليمات البرمجية الرئيسي أو النشر للعملاء.

التسليم والنشر المستمر

التسليم المستمر يلتقط حيث ينتهي التكامل المستمر، ويأتمتة عملية التسليم إلى بيئة البنية الأساسية المحددة. يمكنك استخدام التسليم المستمر لإصدار التغييرات بسرعة وبشكل مستدام. بعد استخدام التسليم المستمر، تقرر مسبقا ما إذا كنت تريد نشر التغييرات يوميا أو أسبوعيا أو شهريا أو على جدول آخر يناسب متطلبات عملك.

ينتقل النشر المستمر إلى أبعد خطوة عن طريق إصدار التغييرات التي تمرر جميع مراحل البنية الأساسية لبرنامج ربط العمليات التجارية CI/CD إلى الإنتاج تلقائيا. يعد النشر المستمر إحدى العمليات الأكثر تقدما في تطوير البرامج، ويتطلب تعليمة برمجية تختبر جميع جوانب وظائف التطبيق دون تدخل بشري.

CI/CD pipelines

تتكون البنية الأساسية لبرنامج ربط العمليات التجارية من العمليات الجماعية التي يتم تشغيلها عند حدوث حدث محدد. عدد كبير من الأحداث هي جزء من تطوير البرامج، ويجب أن تدعم البنية الأساسية لبرنامج ربط العمليات التجارية CI/CD جميع الأحداث ذات الصلة. عندما يقوم حدث بتشغيل البنية الأساسية لبرنامج ربط العمليات التجارية، يتم تشغيل جميع وحدات الاستماع لهذا الحدث وتبدأ المرحلة الأولى من العملية.

يتم تشغيل البنية الأساسية لبرنامج ربط العمليات التجارية CI/CD عندما يؤدي تغيير التعليمات البرمجية الجديد إلى تشغيله. في معظم الحالات، تبدأ العملية عن طريق استنساخ أو تنزيل التعليمات البرمجية المصدر. ثم يتم تشغيل الخطوة التالية، وهكذا.

في كل مرة يقوم فيها تغيير التعليمات البرمجية بتشغيل CI/CD، يتم تنفيذ جميع الخطوات في البنية الأساسية لبرنامج ربط العمليات التجارية. إذا كان هناك خطأ في خطوة، تتوقف البنية الأساسية لبرنامج ربط العمليات التجارية. يمكن أن تحتوي مهام سير العمل على رموز تقاطع منطقية بحيث لا يتم تنفيذ بعض المراحل في ظل ظروف معينة، ولكن يستمر تنفيذ المسار الكلي.

GitHub Actions

تدعم إجراءات GitHub جميع الأحداث ذات الصلة ب GitHub وأتمتة البنية الأساسية لبرنامج ربط العمليات التجارية CI/CD في هذه الوحدة. في GitHub Actions، تحدد كل خطوة الإجراءات إما في JavaScript أو باستخدام حاوية Docker. من السهل إنشاء الإجراءات وتشكيل الكتل الإنشائية لخطوات البنية الأساسية لبرنامج ربط العمليات التجارية.

يمكنك استخدام إجراءات GitHub لدمج جميع التعليمات البرمجية المستضافة في GitHub بسلاسة مع سير عمل التنفيذ التلقائي. يعالج سير العمل مهام متعددة لدمج التعليمات البرمجية عبر بيئات متعددة.

GitHub Actions هي موفر شائع لتدفقات CI/CD بسبب نموذجها مفتوح المصدر. نظرا لأن مهام سير العمل مفتوحة المصدر، يتم تخزينها في مستودعات متاحة لأي شخص على النظام الأساسي. قد يستخدم مستخدمو GitHub إجراءات بعضهم البعض أو ينشئون إجراءات مخصصة خاصة بهم دون تثبيت أو تكوين أي شيء آخر.

تعني القدرة على مشاركة الإجراءات بين المستخدمين أنك لا تحتاج إلى إعادة كتابة التعليمات البرمجية أو المراحل المتكررة، ولكن يمكنك استخدام الإجراءات الموجودة أو تخصيصها. في الوحدات التالية، يمكنك استخدام GitHub Actions في حاوية Docker لتعريف مسار CI/CD الذي ينفذ التوزيع المستمر لتطبيق ما.

‏‫اختبر معلوماتك

1.

ما الفرق بين التكامل المستمر CI والنشر المستمر CD؟

2.

ما هي البنية الأساسية لبرنامج ربط العمليات التجارية CI؟