مكتبة جينكينز المشتركة: نظرة عن قرب [2022]
نشرت: 2021-01-02نحن نعيش في عصر الخدمات المصغرة حيث يتم تفكيك التطبيقات المعاصرة إلى مكونات يمكن نشرها بشكل فردي . يمكننا القول أن Jenkins قد احتلت مكانها بين أدوات CI / CD الأصلية الرائدة لنشر الخدمات المصغرة. بالمقارنة مع التطبيقات المتجانسة ، هناك العديد من خطوط الأنابيب لنشر الخدمات المصغرة الفردية.
يمكنك استخدام الخرطوم كرمز لتشفير العملية الكاملة لـ CI / CD. تعامل معها مثل تطوير التطبيق. يمكنك نشر كود خط الأنابيب الخاص بك وتشغيل جميع مستويات الاختبار قبل استخدامه لنشر تطبيقك.
جدول المحتويات
ما هي مكتبة جنكينز المشتركة؟
عندما نقول CI / CD كرمز ، نحتاج إلى نمطية وإعادة استخدام. عليك أن تتبع مبدأ الجفاف. هذا هو المكان الذي تثبت فيه مكتبة Jenkins المشتركة فائدتها.
مكتبة Jenkins المشتركة هي فكرة تضمين رمز أنبوب قياسي لأنظمة التحكم في الإصدار ويمكن استخدامه على أي عدد من الأنابيب بمجرد الرجوع إليها. يمكن للفرق المتعددة استخدام نفس الدليل لخط الأنابيب الخاص بهم.
يمكنك مقارنتها بأدلة البرمجة الشائعة. تنشئ البرمجة دليلاً منفصلاً يمكن لأي شخص استخدامه عند استيراد التعليمات البرمجية.
على سبيل المثال ، إذا كان لديك عشرة أنابيب للخدمات الصغيرة من Java ، فسيتم تكرار إجراء الإنشاء القديم لجميع الأنابيب العشرة. إلى جانب ذلك ، يتم نسخ رمز الأنبوب ولصقه مع إضافة خدمات جديدة. إذا كنت ترغب في تغيير بعض المعلمات في مرحلة بناء قديمة ، فأنت بحاجة إلى تعديلها يدويًا في جميع الأنابيب.

في نفس السيناريو ، ستقوم بإنشاء مكتبة مشتركة للمباني القديمة. بالنسبة لجميع الأنابيب ، كل ما عليك فعله هو الرجوع إلى مكتبة كود المبنى القديمة. إذا كانت هناك أي تغييرات قديمة في المستقبل ، فكل ما تحتاج إلى تحديثه هو رمز المكتبة المشتركة.
قراءة: أفكار ومواضيع مثيرة للاهتمام حول مشروع Jenkins
ابدأ في استخدام المكتبات المشتركة
الدليل المشترك عبارة عن مجموعة من الملفات الرائعة (DSL + رائع). يجب أن تكون جميع الملفات الرائعة في مستودع git. يستخدم هذا المثال Github كمستودع git. https://github.com/devopscube/jenkins-shared-library. يمكنك تكرار هذا المستودع للحصول على البنية التحتية للمكتبة المشتركة.
تحتوي قاعدة بيانات المكتبة المشتركة على هياكل المجلد التالية:
مكتبة جينكينز المشتركة
| ____ فار
| ____ src
| ____ مصادر
فارس
يحتوي على كل كود WCL الذي يمكنك الاتصال به من خط الأنابيب. يحتوي على كافة ملفات الدليل ذات الامتداد .groovy. يتم أيضًا دعم ملفات .txt لتوثيق رمز المكتبة المشترك. على سبيل المثال ، إذا كان لديك ملف باسم maven-build. رائع ، إذن ستحصل على ملف مساعدة باسم maven-groovy.txt. يمكنك كتابة وثائق تعليمات لتمييز خصائص دليل مشترك في هذا الملف. يمكن عرض ملفات المساعدة من صفحة <your-jenkins-url> / Pipeline Syntax / Global.
Src
إنه دليل مصدر Java قياسي. بمجرد الانتهاء من تجميع كل النص ، ستتم إضافته إلى مسار الفصل الدراسي. هنا يمكنك إضافة رمز رائع بشكل لا يصدق لتوسيع رمز المكتبة المشتركة. يمكنك أيضًا استخدام "بيان الاستيراد" لاستيراد فئات وامتدادات Jenkins الحالية.
هناك سيناريوهات لا تكون فيها أجهزة DSL الرائعة مرنة بما يكفي لأداء وظائف معينة. في هذه الحالة ، يمكنك كتابة وظائف groove مخصصة في src وقراءتها في كود المكتبة المشتركة.

موارد
يمكنك إدارة جميع الملفات غير الضرورية المطلوبة للخرطوم في هذا المجلد. على سبيل المثال ، قد تحتاج إلى نموذج JSON عام لإجراء استدعاءات API أثناء البناء. يمكنك حفظ قالب JSON هذا في مجلد موارد واستدعائه في مكتبة مشتركة من خلال وظيفة LibraryResource.
يجب أن تقرأ: راتب جينكينز في الهند
المكتبة العالمية المشتركة
هناك العديد من الأماكن حيث يمكنك إعداد دليل مشترك ، حسب حالة الاستخدام الخاصة بك. إدارة Jenkins »تكوين النظام» مكتبة الأنابيب العالمية. يمكنك تكوين أي عدد من الأدلة حسب حاجتك.
هذه المكتبات متاحة عالميًا بحيث يمكن لكل خط أنابيب في نظامك استخدام الوظائف المنفذة في هذه المكتبات.
تعتبر هذه المكتبات "موثوقة". يمكنك تنفيذ أي طريقة في Java أو Groovy أو واجهة برمجة تطبيقات Jenkins الداخلية أو امتداد Jenkins أو دليل جهة خارجية. يسمح لك بتحديد المكتبات بدقة التي تطوي واجهات برمجة التطبيقات غير الآمنة في مغلفات عالية المستوى يمكن استخدامها بأمان من أي خط أنابيب.
يرجى ملاحظة أن أي شخص يمكنه دفع العمولة لقاعدة بيانات SCM هذه لديه وصول غير محدود إلى Jenkins. أنت بحاجة إلى إذن Total / RunScripts لإنشاء هذه الأدلة (يُمنح هذا الإذن عادةً لمسؤولي Jenkins).
قم بالتسجيل في دورات هندسة البرمجيات من أفضل الجامعات في العالم. اربح برامج PG التنفيذية أو برامج الشهادات المتقدمة أو برامج الماجستير لتتبع حياتك المهنية بشكل سريع.
مكتبة مشتركة على مستوى المجلد
يمكن ربط جميع المجلدات التي تم إنشاؤها بالدلائل المشتركة. تسمح لك هذه الآلية بتعيين نطاق دليل محدد لجميع الأنابيب داخل وحدة تخزين أو مجلد فرعي.
لا تعتبر الدلائل التي تستند إلى مجلد "موثوقة". إنه يعمل في صندوق رمل الأخدود ، تمامًا مثل الأنبوب العادي.
مكتبة مشتركة تلقائية
قد تضيف المكونات الإضافية الأخرى طريقة للتعرف على المكتبة أثناء التنقل. على سبيل المثال ، "GitHub Organization Folder" هو مكون إضافي مصدر متوفر في GitHub Branch Source. يوفر مكونًا يسمح للنصوص باستخدام مكتبات غير موثوق بها مثل github.com/orgname/reponame مطروحًا منها أي تكوين مضاف. في هذه الحالة ، سيتم تحميل مستودع GitHub المحدد من الفرع الرئيسي باستخدام إعدادات مجهولة.
للتحقق من التغييرات في المكتبة
إذا لاحظت وجود خطأ في إصدار بدليل غير موثوق به ، فانقر فوق ارتباط إعادة التشغيل وقم بتحرير ملف مصدر واحد أو أكثر لمعرفة ما إذا كان الإصدار الناتج يعمل كما هو متوقع. عندما تكون راضيًا عن النتائج ، انقر فوق ارتباط الفرق في صفحة حالة الإصدار وقم بتطبيق الاختلاف على مكتبتك ومجموعة الالتزامات الخاصة بك.

(حتى إذا كان إصدار المكتبة المطلوب فرعًا وليس إصدارًا ثابتًا مثل الإشارة المرجعية ، فإن الإصدار المعاد تنشيطه سيستخدم نفس الإصدار مثل الإصدار الأصلي. لا يمكنك سحب موارد المكتبة.)
حاليًا ، لا يوفر لك إعادة تشغيل المكتبات الموثوقة. تغيير ملفات الموارد أثناء إعادة التشغيل غير مدعوم حاليًا.
اقرأ أيضًا: أسئلة وأجوبة مقابلة جينكينز
خاتمة
فيما يلي بعض الأشياء المهمة التي يجب تذكرها:
- سيكون عليك استخدام Groovy لكتابة الخطوات أو الوظائف المخصصة.
- هناك حاجة لكتابة خطوات خط الأنابيب التي يمكنك الاتصال بها من خطوط الأنابيب.
- تحتاج إلى إنشاء ملف في دليل vars بالمستودع الذي سيحتوي على اسم خطوتك المخصصة.
- يجب تنفيذ طريقة الاستدعاء def بواسطة المعلمات لخطوتك.
- إذا كانت هناك حاجة لكتابة كود Groovy الشائع ، يمكنك إضافته إلى src.
- يمكنك أيضًا دمج مكتبة مشتركة في Jenkins من خلال استخدام شاشة نظام التكوين.
إذا كنت مهتمًا بمعرفة المزيد حول تطوير المكدس الكامل ، فراجع برنامج upGrad & IIIT-B's Executive PG في تطوير البرامج الكامل المكدس الذي تم تصميمه للمهنيين العاملين ويقدم أكثر من 500 ساعة من التدريب الصارم ، وأكثر من 9 مشاريع ، والمهام ، وحالة خريجي IIIT-B ، ومشاريع التخرج العملية العملية والمساعدة في العمل مع الشركات الكبرى.
