هل تعلم أن جنكينز يدعم بشكل مدمج CI/CD؟ يمكن أن تحسن تنفيذ خط الأنابيب CI/CD في جنكينز عملية تطوير البرمجيات الخاصة بك بشكل كبير.
جنكينز هو أحد أدوات الأتمتة الأكثر شهرة في مجال DevOps حتى الآن. وإذا كنت تبحث عن البدء في تنفيذ خط الأنابيب CI/CD في جنكينز، فقد وصلت إلى المكان الصحيح.
استمر في القراءة، وفي هذا البرنامج التعليمي، ستتعلم كيفية إعداد خط الأنابيب CI/CD في جنكينز مع GitHub.
المتطلبات الأساسية
يفترض هذا البرنامج التعليمي أن لديك المتطلبات التالية لمتابعة الأمثلة.
يجب أن يكون لديك بالفعل تثبيت جنكينز. ستكون الأمثلة في هذا البرنامج التعليمي تستخدم جنكينز v2.319.1 على كمبيوتر يعمل بنظام Windows 10 20H2.
- يجب أن يكون واجهة ويب Jenkins الخاصة بك متاحة عبر الإنترنت.
- A Github account to which you’ll connect with the Jenkins CI CD pipeline.
- Git SCM. يستخدم هذا البرنامج التعليمي أحدث إصدار (2.34.1) بت 64 من Git لنظام Windows.
التحضير لمستودع GitHub
يتضمن هذا البرنامج التعليمي دمج سلسلة CI CD في Jenkins مع مستودع GitHub. بدلاً من إنشاء مشروع فارغ، يكون من الأسرع البدء في منصة مستودع موجود.
1. أولاً، افتح متصفحًا وسجل الدخول إلى حساب GitHub الخاص بك.
2. ثم، انتقل إلى عنوان URL للمستودع المثال (تطبيق MyShuttle2 من Microsoft Connect 2016). بمجرد أن تكون في صفحة المستودع، انقر على زر Fork في الجزء العلوي الأيمن من الصفحة.

انتظر انتهاء عملية النسخ. في النهاية، ستكون لديك مستودع يحمل الاسم “اسم المستخدم/MyShuttle2” في حساب GitHub الخاص بك ولديك الوصول الكامل إليه.
3. الآن، أضف ملفًا جديدًا إلى المستودع يحمل الاسم Jenkinsfile. ملف Jenkinsfile هو ملف نصي يحتوي على تعريف لسلسلة Jenkins. يجب أن يكون هذا الملف داخل مستودع رمز المصدر.
على صفحة المستودع الخاص بك، انقر فوق إضافة ملف -> إنشاء ملف جديد.

4. اكتب Jenkinsfile كاسم للملف الجديد. بعد ذلك، قم بنسخ الشفرة أدناه ولصقها في ملف Jenkinsfile الخاص بك.
- مصطلح pipeline يشير إلى مجموعة من التعليمات المكتوبة بلغة البرمجة لتسليم مستمر.
- A stage block contains a series of steps in a pipeline, visualizing the Jenkins pipeline process.
- A step is a single task that executes a specific process at a defined time. A pipeline contains a series of steps.
هذا الملف Jenkinsfile هو مثال أساسي فقط لنص سير العمل. في الإنتاج، ستكون نصوص سير العمل أكثر تعقيدًا وتشمل إجراءات متعددة في مرحلة واحدة أو في جميع المراحل.
بعد كتابة الشفرة، سيبدو ملفك كما في الصورة أدناه.

5. انتقل إلى أسفل الصفحة وانقر على Commit new file.

الآن لديك ملف Jenkinsfile في مستودعك.

6. أخيرًا، قم بنسخ عنوان URL للمستودع. للقيام بذلك، انقر على Code وانقر على زر Copy. ستحتاج إلى هذا العنوان في إنشاء سير عمل Jenkins CI CD.

إنشاء سير عمل Jenkins CI CD
تطوير ميزة ينطوي على العديد من تغييرات الشفرة. بين كل تغيير في الشفرة، هناك مجموعة من المهام التي يجب القيام بها، وقد تشمل هذه المهام الالتزام بالتغييرات، والترجمة، والاختبار، والتعبئة.
تساعد خدمات الأتمتة مثل Jenkins في جعل هذه الخطوات سريعة وخالية من الأخطاء.
1. قم بفتح متصفح وانتقل إلى عنوان URL الخاص بـ Jenkins وقم بتسجيل الدخول.
2. على لوحة التحكم الخاصة بـ Jenkins Dashboard، انقر على الخيار New Item في القائمة الموجودة على الجانب الأيسر.

3. أدخل اسم سير العمل الجديد. في هذا البرنامج التعليمي، قم بتسميته demoPipeline وحدد القالب Pipeline. انقر على OK للإنتهاء.

4. قم بتحديد مربع مشروع GitHub تحت علامة العامة على صفحة التكوين. بعد ذلك، قم بلصق عنوان URL للمستودع الذي نسخته سابقًا في مربع عنوان URL للمشروع.

5. انتقل إلى الأسفل لقسم تنشيطات البناء وقم بتحديد مربع تنشيط الخطاف الخاص بـ GitHub للاستطلاع على GITScm، مثلما هو موضح في الصورة أدناه.

6. بعد ذلك، قم بالتمرير إلى الأسفل لقسم الأنابيب وحدد/حدد القيم التالية:
- التعريف: نص الأنبوبة من SCM
- مدير التحكم في نظام التحكم في الإصدار: جيت
- عنوان URL للمستودع: عنوان URL للمستودع الخاص بك

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

تكوين خطاف (Webhook) في GitHub
لكي يتم تشغيل وظيفة جديدة في جينكينز، يجب أن تقوم أولاً بإنشاء خطاف في المستودع الخاص بك في GitHub. سيقوم هذا الخطاف بإخطار جينكينز فور حدوث دفعة جديدة في المستودع.
اتبع الخطوات التالية لإنشاء خطاف (Webhook).
1. انتقل إلى صفحة الإعدادات وانقر على علامة التبويب خطافات (Webhooks) في مستودع GitHub الخاص بك. في صفحة الخطافات (Webhooks)، انقر على إضافة خطاف (Add webhook).

2. حدد عنوان URL الخاص بـ Jenkins الخاص بك وأضف /github-webhook/ في حقل Payload URL. على سبيل المثال، HTTP://jenkinsURLhere/github-webhook/.
أيضًا، قم بتغيير قيمة نوع المحتوى إلى application/json.

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

4. انتقل إلى الأسفل وقم بتحديد خانات الاختيار الدفعات و طلبات السحب. ستضمن هذه الخيارات أن GitHub سترسل بيانات خاصة بالحمولة إلى Jenkins خلال هذه الأحداث المحددة.

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

تنفيذ وتنشيط وظيفة الأنابيب لـ Jenkins CI CD
الآن بعد أن قمت بإنشاء وتكوين الأنبوبة الخاصة بك، كيف تتأكد من أن الأنبوبة تعمل بشكل صحيح؟ يوفر Jenkins إضافة Pipeline Stage View لمساعدتك في عرض حالة الأنبوبة.
1. لفتح حالة الأنبوبة، افتح الأنبوبة في Jenkins وانقر على الحالة. كما يمكنك رؤية في الأسفل، تعرض حالة عرض المرحلة بدون بيانات متاحة لأنه لم يحدث أي حدث يؤدي إلى تنشيط الأنبوبة.

2. لتوليد بيانات البناء الأولية، انقر على بناء الآن وانتظر اكتمال عملية البناء. كما يمكنك رؤية أدناه، فإن واجهة العرض الأولية الآن تحتوي على إدخال واحد يشير إلى عدم وجود تغييرات في هذا البناء.

3. الآن، اختبر سريان العمل عن طريق إضافة ملف وهمي جديد إلى المستودع. للقيام بذلك، اعود إلى مستودع GitHub الخاص بك وانقر على إضافة ملف -> إنشاء ملف جديد.
أدخل وهمي كاسم الملف الجديد وتأكد من إضافة المحتوى.

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

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