Jenkins دليل إنشاء خطوط الأنابيب: كيفية الإنشاء Jenkinsملف (مثال)

⚡ ملخص ذكي

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

  • 🔘 خط انابيب: مجموعة من الأحداث المترابطة حيث تعتمد كل مهمة على المهمة التي تسبقها.
  • ☑️ Jenkinsملف: ملف نصي بلغة خاصة بالمجال يحتوي على كل خطوة من خطوات خط الأنابيب.
  • ✅ صيغتان نحويتان: يوفر النظام التصريحي تسلسلاً هرمياً ثابتاً؛ وهيكلاً تجارياً مكتوباً لـ Groovy السيطرة عليها.
  • 🧪 أربعة شروط: تُحدد أسماء Pipeline و node و stage و step التدفق والآلة والمرحلة والمهمة.
  • 🛠️ مسار الإعداد: قم بتثبيت إضافة خط أنابيب البناء، وأضف عرض خط الأنابيب، وقم بربط المهام، ثم قم بتشغيلها.
  • 📌 الممارسات: احتفظ بالعمل المادي في كتلة عقدة، والعمل غير المتعلق بالإعداد في مرحلة، وقم بتغليف المدخلات في مهلات زمنية.

Jenkins خط الأنابيب مُعرَّف على أنه كود في Jenkinsقم بتقديم

ما هي تفاصيل Jenkins خط أنابيب؟

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

ما هي خطوط أنابيب التسليم المستمر؟ كيف تعمل؟

في باقة Jenkins في خط الأنابيب، كل مهمة أو حدث له نوع من الاعتماد على حدث واحد أو أكثر على الأقل، كما يوضح الرسم البياني أدناه.

تتضمن عملية التسليم المستمر بناء ونشر واختبار وإصدار البيانات في Jenkins
يعمل Jenkins خطوط أنابيب التسليم المستمر

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

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

ما هو Jenkinsملف؟

Jenkins يمكن تعريف خطوط الأنابيب في ملف نصي يسمى Jenkinsملف. يعبر عن خط الأنابيب كشفرة بلغة خاصة بالمجال (DSL) ويحتوي على كل خطوة لازمة لتشغيل خط الأنابيب.

فوائد استخدام Jenkinsالملفات هي:

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

يمكن تعريف خط الأنابيب في Jenkins واجهة مستخدم الويب أو في Jenkinsتم حفظ الملف في نظام التحكم بالمصادر. يتميز الملف التصريحي البسيط بشكل ثابت - كتلة خط الأنابيب، وعامل، ومراحل تحتوي على مرحلة واحدة لكل طور.

pipeline {
    agent any
    stages {
        stage('Build') {
            steps {
                echo 'Building'
            }
        }
        stage('Test') {
            steps {
                echo 'Testing'
            }
        }
        stage('Deploy') {
            steps {
                echo 'Deploying'
            }
        }
    }
}

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

بناء جملة خط الأنابيب التصريحي مقابل بناء جملة خط الأنابيب المكتوب برمجيًا

هناك نوعان من Jenkins صيغة خط الأنابيب المستخدمة لتحديد Jenkinsملف.

  1. تصريحي
  2. كتابتها

تصريحي

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

كتابتها

كتابتها Jenkins يعمل خط الأنابيب على Jenkins يتم التحكم من خلال مُنفِّذ خفيف الوزن، باستخدام موارد قليلة جدًا لترجمة خط الأنابيب إلى أوامر ذرية. يُكتب الاثنان بطريقة مختلفة تمامًا، لذا اختر واحدًا لكل Jenkinsملف.

⚠️ ملاحظة: Jenkins يُطلق عليه الآن اسم رئيسي القادم مراقب .

لماذا الاستخدام Jenkins خط أنابيب؟

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

إليك الأسباب التي تدفعك إلى استخدام Jenkins خط انابيب:

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

Jenkins خط أنابيب Concepts

تتكرر أربعة مصطلحات في كل Jenkinsملف:

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

قم بتثبيت إضافة خط أنابيب البناء في Jenkins

يقوم الملحق الخاص بخط أنابيب البناء بإنشاء عرض لخط الأنابيب للوظائف الواردة والصادرة ويضيف مشغلات التدخل اليدوي.

قم بتثبيته كما يلي:

الخطوة 1) يمكنك العثور على إعدادات الملحق ضمن إدارة Jenkins > إدارة الإضافات، ظاهر أدناه.

⚠️ ملاحظة حول الإصدار: تيار Jenkins تُصدر هذه الشاشة إدارة Jenkins → الإضافاتتتصرف علامات التبويب كما هو موضح هنا.

صفحة إدارة الإضافات في Jenkins مكان وجود إعدادات ملحق خط أنابيب البناء

إذا كنت قد قمت بالفعل بتثبيت البرنامج الإضافي، فسيتم عرضه ضمن علامة التبويب المثبتة.

علامة التبويب المثبتة من Jenkins مدير الإضافات يعرض قائمة إضافات مسار البناء

الخطوة 2) إذا لم تكن الإضافة مثبتة بالفعل، فستظهر ضمن علامة التبويب "المتوفرة".

بعد تثبيت الملحق:

كيف تنشأ Jenkins خط أنابيب

بمجرد تسجيل الدخول إلى Jenkins لوحة أجهزة القياس:

الخطوة 1) انقر على زر "+" الموجود على الجانب الأيسر من جهازك Jenkins لوحة تحكم لإنشاء مسار العمل.

زر الزائد على Jenkins لوحة التحكم المستخدمة لإضافة عرض جديد

الخطوة 2) املأ مربع حوار العرض الجديد:

  1. أعطِ عرض خط الأنابيب اسمًا. سنسميه "Guru"99 Pipeline" لهذا العرض التوضيحي.
  2. حدد "إنشاء عرض مسار" ضمن الخيارات.
  3. انقر على "موافق" كما هو موضح أدناه.

مربع حوار جديد لعرض البيانات مع إدخال اسم عرض خط الأنابيب وتحديد خيار "إنشاء عرض خط الأنابيب".

الخطوة 3) تطلب الصفحة التالية المزيد من تفاصيل التكوين. اقبل الإعدادات الافتراضية، وتأكد من اختيار المهمة الأولى ضمن الإعدادات.

انقر على "تطبيق" ثم "موافق".

صفحة تكوين عرض مسار الإنشاء مع الإعدادات الافتراضية وتحديد المهمة الأولى

ثم يظهر عرض نموذجي لخط أنابيب المنتج الخاص بك:

عينة Jenkins تم إنشاء عرض مسار البناء لـ Guru99 عنصرًا من عناصر خط الأنابيب

تشغيل بناء خط الأنابيب

الخطوة 1) قم بربط مهامك أولاً: افتح مهمتك الأولى وانقر على "تكوين".

قم بتكوين الرابط على الأول Jenkins وظيفة تُستخدم لبدء سلسلة الوظائف

الخطوة 2) الآن، ضمن قسم "محفزات البناء"، حدد خيار "البناء بعد بناء المشاريع الأخرى".

قسم "محفزات البناء" مع تحديد خيار "البناء بعد بناء المشاريع الأخرى".

سلسلة لجميع وظائفك موجودة الآن.

الخطوة 3) قم بتثبيت إضافة عرض خط أنابيب البناء إذا لم تكن مثبتة لديك بالفعل.

الخطوة 4) على Jenkins لوحة التحكم، أنشئ عرضًا باستخدام زر "+"، وحدد خيار عرض مسار البناء وانقر فوق موافق.

مربع حوار عرض جديد مع تحديد خيار عرض مسار الإنشاء

الخطوة 5) ضمن إعدادات عرض خط الأنابيب، حدد موقع تدفق خط الأنابيب.

ضمن تدفق خط الأنابيب، حدد المهمة الأولية المراد تشغيلها - المهمة المرتبطة بالآخرين في الخطوتين 1 و 2.

إعدادات تدفق خط الأنابيب مع Guruتم اختيار المشروع رقم 99، المشروع 1، كمهمة أولية.

Guruتم اختيار المشروع 1 رقم 99 هنا كمهمة أولية، لذلك يتم تشغيل المهام المتسلسلة واحدة تلو الأخرى.

أثناء تشغيل خط الأنابيب، تشير الرموز الحمراء والخضراء إلى حالته: الأحمر يعني الفشل، والأخضر يعني النجاح.

في هذا المثال، الزر أخضر، لذا فقد نجحت العملية.

زر الحالة الأخضر يشير إلى نجاح العملية Jenkins تشغيل خط الأنابيب

الركض Jenkins خط أنابيب

انقر على "تشغيل" لتشغيل البرنامج Jenkins خط الأنابيب. سيبدو شكله كالتالي:

زر التشغيل على Jenkins عرض خط أنابيب البناء

يُنشئ المثال أعلاه برنامجًا بسيطًا باسم "helloworld.java". أما المشاريع الحقيقية فتستخدم مسارات معالجة أكثر تعقيدًا بكثير، كما يتضح من العرض الكامل أدناه.

مكتمل Jenkins عرض مسار البناء الذي يُظهر كل مهمة متسلسلة بالتسلسل

⚠️ ملاحظة حول الإصدار: تُعدّ إضافة عرض خط أنابيب البناء الطريقة القديمة لتصوّر مهام حرة متسلسلة؛ وتُعرّف الممارسة الحالية نفس التدفق في Jenkinsملف. أزرق Ocean لم يعد محسّنًا.

ممارسات باستخدام Jenkins خط أنابيب

سبع عادات تحافظ على استمرارية خط الأنابيب:

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

الأسئلة الشائعة

يقوم بفحص المستودع، ويجد كل فرع يحمل Jenkinsيُنشئ الملف مهمة لكل فرع. ويستمد سلوك الفرع من متغير BRANCH_NAME الموجود في ذلك الملف.

قم بتخزينها في ملف Jenkins يتم تخزين بيانات الاعتماد وقراءتها باستخدام الدالة المساعدة credentials() في كتلة بيئية. تُضاف القيمة أثناء التشغيل وتُخفى في السجل، لذا لا توجد كلمة مرور في الملف.

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

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

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

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

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

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

تلخيص هذه التدوينة بـ: