انتشار جنكينز المستمر [مع مثال عملي]

نشرت: 2020-12-28

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

اليوم ، تتبنى العديد من المنظمات DevOps في عروضها. في دورة حياة تطوير البرامج ، يجب عليك إصدار البرنامج باستمرار كجزء من المشروع.

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

يمكن دمج Jenkins مع العديد من تقنيات الاختبار والنشر. توضح هذه المقالة كيفية استخدام Jenkins لبناء واختبار مشاريع البرامج الخاصة بك بشكل مستمر.

تعلم دورة هندسة البرمجيات عبر الإنترنت من أفضل الجامعات في العالم. اربح برامج PG التنفيذية أو برامج الشهادات المتقدمة أو برامج الماجستير لتتبع حياتك المهنية بشكل سريع.

وبالتالي ، قبل الغوص في كيفية عمل Jenkins ، نحتاج إلى فهم الموضوعات التالية التي تشكل أساس تعلم Jenkins:

  • الانتشار المستمر
  • التسليم المستمر مقابل النشر المستمر
  • مثال عملي لنشر جنكينز
  • فوائد نشر جنكينز

دعونا نلقي نظرة على كل منهم واحدًا تلو الآخر!

جدول المحتويات

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

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

يتم نشر الكود بعد ذلك على خوادم الاختبار عند إجراء اختبار قبول المستخدم. سيتم نشر البرنامج على خوادم الإنتاج لإصدار البرنامج. اقرأ عن التكامل المستمر مع جينكينز.

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

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

ائتمان الصورة

يحتاج النشر المستمر إلى نشر كل تغيير تلقائيًا ، دون أي تحكيم بشري.

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

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

بسبب هذا الاختلاف الأساسي ، كان هناك العديد من الآثار التي تجعل كل عملية مناسبة لظروف مختلفة.

جينكينز

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

لدى Jenkins الآلاف من الملحقات والتكاملات. وبالتالي ، فهي مناسبة للمشاريع الكبيرة التي تتطلب الكثير من التخصيص. وهو يدعم أدوات التحكم في الإصدار مثل Git و Maven و Mercurial و Subversion.

مثال عملي لنشر جنكينز

الآن وقد تعلمنا عن نوع أداة Jenkins والتي يمكن تطبيقها في عملية تطوير البرامج للنشر المستمر ، دعنا الآن نرى كيف تعمل في بيئة الإنتاج.

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

لذلك ، لنفترض مبدئيًا أن مشروع العميل قد تم إعداده على Jenkins ، مرتبطًا بنظام التحكم في الإصدار الخاص بك.

الخطوة 1: إنشاء عنصر Jenkins

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

الخطوة 2: إنشاء إجراء ما بعد البناء

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

بعد ذلك ، قم بإلحاق إجراء آخر بعد الإنشاء ، "إنشاء مشروع آخر" وأدخل عنصر البناء الذي تم إنشاؤه من قبل.

أرشيف

الخطوة 3: تثبيت البرنامج المساعد "Copy Artifact"

في الخطوة الثالثة ، ستقوم بتثبيت Jenkins 'Copy Artifact plugin'.

انتقل إلى "اسم المشروع" لتكوين وإضافة خطوة بناء. أثناء تثبيت المكون الإضافي Copy Artifact ، سترى خيار "نسخ العناصر من مشروع آخر". قم بتعيين المجلد لنسخ القطع الأثرية وتعيين مسار الموقع.

اضبط الموقع على "var / www / clients / ..". سيؤدي هذا إلى إنشاء مجلد جديد على الخادم. حدد المسار بعنوان HTTP (!).

إنقاذ المشروع

الخطوة 4: إجراء الاختبار

بعد المراحل الأولية ، حان الوقت لاختبار التطبيق.

لهذا ، انطلق بناء من مشروع العميل. هذا سوف يدفع بناء جديد. تحقق من مجلد النشر على الخادم. هنا ، سترى الملفات التي تم نشرها.

ولكن ، حتى بعد كل الإجراءات ، فشل البناء وظهر لك الخطأ "FileException".

لماذا ا؟

يمكن أن تكون الأسباب المحتملة:

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

قم بإجراء الخطوات التالية لحل هذا:

  1. أضف جينكينز إلى مجموعة ، هنا ، مجموعة "www-data".
  2. تغيير ملكية مجلد الإخراج إلى مجموعة "www-data" باستخدام الأمر sudo chown - R : عملاء "www - data".
  3. اسمح بالوصول للكتابة إلى المجلد باستخدام الأمر sudo chmod .
  4. أعد تشغيل الخادم وشاهد التطبيق الذي تم نشره

ما هي الفوائد التي يقدمها جينكينز؟

  • Jenkins هي أداة مفتوحة المصدر وتوفر دعمًا مجتمعيًا ممتازًا.
  • Jenkins سهل التثبيت نسبيًا.
  • يحتوي Jenkins على أكثر من 1000 ملحق إضافي. إذا لم يكن البرنامج المساعد متاحًا ، فيمكنك ترميزه بسهولة.
  • جنكينز مجاني.
  • تم بناء Jenkins باستخدام Java ؛ وبالتالي ، فهي محمولة على جميع المنصات الرئيسية.

اقرأ أيضًا: مواضيع وأفكار مشروع جينكينز

الكلمات الأخيرة

Jenkins هي أداة أتمتة مكتوبة قوية لـ Java تم استخدامها على نطاق واسع للتكامل المستمر. مع Jenkins ، أصبح من الأسهل بناء واختبار مشاريع البرامج بشكل مستمر مع ما هو مكتوب. إنها الأداة المثلى لتقديم برنامجك دائمًا من خلال التكامل مع عدد كبير من تقنيات الاختبار والنشر.

تطوير برامج التعلم - DevOps مع upGrad

تقدم upGrad برنامج PG التنفيذي في تطوير البرمجيات - تخصص في DevOps حيث ستتعلم تقديم التطبيقات والخدمات بسرعة عالية جدًا في المؤسسة. ستعلمك هيئة التدريس في upGrad كل خصوصيات وعموميات DevOps ولماذا سيجعل التعلم مهنة مربحة لك.

يسلط الضوء على دبلوم upGrad's PG في تخصص تطوير البرمجيات في برنامج DevOps:

تقدم هذه الدورة التدريبية الممتدة على الإنترنت لمدة 12 شهرًا الميزات التالية:

  • جلسات معرفية عبر الإنترنت مع محاضرات مباشرة
  • الوصول إلى المحتوى القيّم في Data Science & Machine Learning مجانًا
  • العمل على أكثر من 7 مشاريع وواجبات مباشرة
  • تعلم عشر لغات وأدوات برمجة
  • ضمان التوظيف المضمون
  • 360 درجة الدعم الوظيفي مع المساعدة في العمل

دورة تطوير البرمجيات

تقدم بطلب للحصول على برنامج الشهادة المتقدمة في DevOps