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

menu icon

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

يستكشف هذا الدليل مفهوم استراتيجية النشر المستمر وكيفية دعمها لقابلية التوسع في المؤسسات.

ما هو النشر المستمر؟

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

يوفر النشر المستمر العديد من المزايا للمؤسسات التي تتطلع إلى توسيع نطاق تطبيقاتها وحافظة تكنولوجيا المعلومات الخاصة بها. بداية، يُسرّع وقت الوصول إلى السوق من خلال القضاء على الفارق بين التكويد وقيمة العميل - تكون في العادة أيام أو أسابيع أو حتى أشهر.

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

النشر المستمر مقابل…

النشر المستمر مقابل التسليم المستمر

في حين أن "النشر المستمر" و"التسليم المستمر" قد يظهران متشابهان، إلا أنهما في الواقع نهجان مختلفان للإصدار المتكرر.

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

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

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

شاهد الفيديو التالي من إريك مينيك لمعرفة المزيد حول الفرق بين النشر المستمر والتسليم المستمر:

التسليم المستمر مقابل النشر المستمر (07:36)

النشر المستمر مقابل التكامل المستمر

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

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

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

لإلقاء نظرة فاحصة على كيفية اختلاف التكامل المستمر عن التسليم المستمر والنشر المستمر، راجع منشور المدونة "Continuous integration vs. continuous delivery: A quick explainer" والفيديو بعنوان "What is Continuous Integration?‎":

ما هو التكامل المستمر (06:20)

أدوات النشر المستمر

للتطوير المستمر ونشر تحسينات البرامج عالية الجودة، يجب على المطورين استخدام الأدوات المناسبة لبناء ممارسات DevOps فعّالة. لا يضمن القيام بذلك الاتصال الفعال بين كل من الإدارات التطويرية والتشغيلية فحسب، بل يقلل أيضًا من الأخطاء في مسار الاتصال لتسليم البرامج أو يزيلها.

في ما يلي بعض أهم الأدوات المستخدمة في مسار عمل النشر المستمر:

  • تحكم النسخة: يساعد تحكم النسخة في التكامل المستمر عن طريق تتبع المراجعات لأصول مشروع معين. يساعد تحكم النسخة، المعروف أيضًا باسم التحكم في "المراجعة" أو "المصدر"، في تحسين رؤية تحديثات المشروع وتغييراته مع مساعدة الفرق على التعاون بغض النظر عن مكان وزمان العمل.
  • مراجعة الكود: بقدر ما يبدو الأمر بسيطًا، فإن "مراجعة الكود" هي عملية استخدام أدوات لاختبار كود المصدر الحالي. تساعد مراجعات الكود في تحسين تكامل البرامج من خلال البحث عن الأخطاء والأخطاء في التكويد ومساعدة المطورين على معالجة هذه المشكلات قبل نشر التحديثات.
  • التكامل المستمر (CI): يُعد التكامل المستمر (CI) مكونًا مهمًا للنشر المستمر ويلعب دورًا رئيسيًا في تقليل حواجز التطوير عندما يعمل مطورون متعددون في نفس المشروع. توجد مجموعة متنوعة من أدوات التكامل المستمر (CI) الخاصة والمفتوحة المصدر، كل منها يلبي التعقيدات الفريدة لعمليات نشر برامج المؤسسة.
  • إدارة التوصيف: إدارة التوصيف هي الاستراتيجية والانضباط للتأكّد من أن جميع البرامج والأجهزة تحافظ على حالة متسقة. وهذا يشمل التوصيف الصحيح والتشغيل الآلي لجميع وحدات الخدمة، ووحدات التخزين، والشبكات، والبرامج.
  • التشغيل الآلي للإصدار: يعد التشغيل الآلي لإصدار التطبيق (أو تنسيق إصدار التطبيق) أمرًا مهمًا للغاية عند التشغيل الآلي لجميع الأنشطة اللازمة لتعزيز النشر المستمر. تربط أدوات التنسيق العمليات ببعضها البعض لضمان اتباع المطورين لجميع الخطوات اللازمة قبل دفع التغييرات الجديدة إلى الإنتاج. تعمل هذه الأدوات بشكل وثيق مع عمليات إدارة التوصيف لضمان توفير جميع بيئات المشروع بشكل صحيح وقدرتها على الأداء بأعلى مستوى لها.
  • مراقبة البنية الأساسية: عند تشغيل نموذج نشر مستمر، من المهم أن تكون قادرًا على تصور البيانات الموجودة في بيئات الاختبار الخاصة بك. تساعدك أدوات مراقبة البنية الأساسية على تحليل أداء التطبيق لمعرفة ما إذا كانت التغييرات التي تجريها لها تأثير إيجابي أم سلبي.

العمل باستخدام Kubernetes

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

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

النشر المستمر عبر تطبيقات متنوعة

عند إنشاء التسليم المستمر أو البنية الأساسية للنشر المستمر، من المهم أن تحصل على حل المؤسسة المناسب الذي سيمنح شركتك الثقة التي تحتاجها للتشغيل الآلي لعمليات اختبار البرامج ونشرها. يعد IBM UrbanCode Deploy منصة للتشغيل الآلي لنشر التطبيق توفر إمكانات الرؤية والتتبع والتدقيق التي تحتاجها الشركات لدفع احتياجات تطوير البرامج الخاصة بها في حزمة واحدة مُحسَّنة.

عمليات النشر متعددة الأوساط السحابية

باستخدام Easy Process وBlueprint Designer من UrbanCode Deploy، يمكن للمؤسسات إنشاء نماذج بيئة سحابية مخصصة لتصور كيفية نشر تطبيقاتها على بيئة سحابية عامة، وخاصة، ومختلطة. يسمح Blueprint Designer للمستخدمين بتكوين وتحديث وتقسيم بيئات الحوسبة كاملة الحزمة مع تمكين إمكانات التنسيق السحابي الكاملة. يمكن بعد ذلك توفير جميع البيئات لنشر مكونات التطبيق آليا أو عند الطلب.

التشغيل الآلي الموزع

UrbanCode Deploy هو حل قابل للتطوير بدرجة كبيرة يدعم النشر الديناميكي لجميع التطبيقات والخدمات ذات المهام الحرجة. يدعم UrbanCode Deploy، الذي تم تصميمه لتلبية المتطلبات الفريدة للمؤسسات التي يتم نشرها عبر مراكز بيانات متعددة، عملية تجميع وحدة الخدمة الرئيسية ويستخدم عمليات نشر خفيفة لتوفير الإتاحة الفورية للخدمات.

بوابات الجودة والموافقات

تعد القدرة على الاعتماد على دقة بيئات الاختبار الآلية أمرًا بالغ الأهمية لتحقيق النشر المستمر بنجاح. ومع ذلك، بالنسبة لبعض البيئات، من الضروري إنشاء شروط معينة تشير إلى الموافقات اليدوية لضمان دفع المعلومات الصحيحة إلى الإنتاج في الوقت المناسب. يبرز UrbanCode Deploy موافقات النشر والبوابات لمنح المسؤولين مزيدًا من التحكم والرؤية وقدرات التدقيق على عمليات النشر المستمر الخاصة بهم.

عمليات تكامل تم اختبارها

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

يتميز IBM UrbanCode Deploy بمزامنة العمليات المتقدمة وأدوات التعاون التي تجعل من الممكن للمؤسسات تنظيم جميع احتياجات النشر الخاصة بها في استعراض بياني واحد سهل الاستخدام وقابل للتخصيص. سواء كنت تقوم بنشر التطبيقات في البيئة المحلية أو خارجها أو عبر آلاف وحدات الخدمة التي يتم إدارتها، فإن UrbanCode Deploy يمنحك جميع الحلول التي تحتاجها لضمان التسليم المستمر والنشر السريع عبر مؤسستك بالكامل.

لمعرفة المزيد حول نشر IBM UrbanCode وكيف يمكنه تطوير عملية النشر الخاصة بك، استكشف حلول التشغيل الآلي للنشر الخاصة بشركة IBM.

النشر المستمر وIBM Cloud

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

اتخذ الخطوة التالية:

البدء باستخدام حساب IBM Cloud اليوم.