Jenkins التكامل مع GitHub: كيفية تثبيت إضافة Git؟
⚡ ملخص ذكي
Jenkins تتيح ميزة التكامل مع GitHub ربط خادم التشغيل الآلي بمستودع المصدر، مما يسمح ببناء كل عملية إيداع والتحقق منها تلقائيًا. يتم إتمام عملية الربط بتثبيت إضافة Git، وإنشاء مهمة Freestyle، والمصادقة باستخدام رمز مميز، وتسجيل رابط ويب.
لقد تعلمت بالفعل ما يلي Jenkins هو وكيف تثبيته على أ Windows نظام. بافتراض اكتمال تلك الخطوات الأساسية، سننتقل الآن إلى إدارة المكونات الإضافية.
Jenkins يتميز بدعم ممتاز للإضافات. يتوفر أكثر من ألف إضافة لتطبيقات الطرف الثالث. للتحقق مما إذا Jenkins يدعم التطبيق الخارجي الذي تفكر فيه، ابحث في دليل الإضافات على https://plugins.jenkins.io/.
تثبيت الإضافات في Jenkins
Jenkins يأتي بإعداد أساسي إلى حد ما، لذا ستحتاج إلى تثبيت المكونات الإضافية المطلوبة لتمكين دعم كل تطبيق من تطبيقات الطرف الثالث.
يُعد GitHub مستودعًا إلكترونيًا للبرمجيات، ويلعب دورًا محوريًا في منهجية DevOps. فهو يوفر منصة مشتركة للعديد من المطورين الذين يعملون على نفس الكود أو المشروع لتحميل واسترجاع الكود المُحدّث، مما يُسهّل التكامل المستمر.
Jenkins يتطلب الأمر تثبيت إضافة Git قبل أن يتمكن من سحب التعليمات البرمجية من مستودع GitHub. غالبًا ما يتم الخلط بين اسمي الإضافتين، لذا يوضح الجدول أدناه الفرق بينهما:
| المساعد | ما الذي يوفره | ما هو المطلوب لهذا الشرح؟ |
|---|---|---|
| إضافة Git | استخدم بوابة خيار ضمن المصدر Code الإدارة، واستنساخ المستودع، واختيار الفرع | نعم، هذا هو الأمر الأساسي. |
| إضافة GitHub | معالجة Webhook، مُشغِّل خطاف GitHub الخيار، وحالة البناء التي تم الإبلاغ عنها إلى الالتزامات | مخصص للتشغيل التلقائي فقط |
لستَ بحاجة إلى تثبيت هذه الإضافات إذا كنت قد وافقت بالفعل على الإضافات المقترحة أثناء... Jenkins إعداد التثبيت، حيث أن إضافة Git جزء من هذه المجموعة. إذا لم تكن كذلك، فإليك كيفية تثبيتها وسحب التعليمات البرمجية من مستودع GitHub.
كيفية تثبيت إضافة Git في Jenkins
فيما يلي شرح مفصل لكيفية تثبيت إضافة Git في Jenkins:
الخطوة 1 : افتح لوحة القيادة الخاصة بك.
انقر على الزر إدارة Jenkins زر على جهازك Jenkins لوحة القيادة:
الخطوة 2 : ابحث عن خيار الإضافات.
انقر على الإضافات. على التيار Jenkins يُصدر هذا المدخل ببساطة الإضافات; الإصدارات الأقدم تحمل نفس العلامة على الشاشة إدارة المكونات الإضافية.
الخطوة 3 : في صفحة الإضافات، افتح الإضافات المتاحة اضغط على زر Tab ثم:
- إختار ال بوابة المساعد
- انقر التثبيت بدون إعادة التشغيليستغرق تنزيل الملحق بضع لحظات، وذلك حسب سرعة اتصالك بالإنترنت، ويتم تثبيته تلقائيًا.
- يمكنك بدلاً من ذلك اختيار قم بالتنزيل الآن وقم بالتثبيت بعد إعادة التشغيلوفي هذه الحالة يتم تطبيق الملحق عندما Jenkins يبدأ التالي.
- إذا كانت الإضافة موجودة بالفعل، فستظهر على تثبيت لا يتم عرض أي تحديث.
الخطوة 4 : بعد تثبيت الإضافات، انتقل إلى إدارة Jenkins > الإضافات > مثبتةتظهر إضافاتك الجديدة ضمن القائمة.
بعد تثبيت الإضافة، Jenkins يمكن الآن توجيهها إلى مستودع فعلي.
كيفية الدمج Jenkins مع GitHub
سنستعرض الآن عملية الدمج Jenkins وGitHub على Windows النظام:
الخطوة 1) إنشاء وظيفة جديدة في Jenkins. افتح ال Jenkins لوحة التحكم الخاصة بك Jenkins URL، على سبيل المثال http://localhost:8080/، ثم انقر جديدنا :
الخطوة 2) أدخل اسم العنصر، وحدد نوع المهمة، ثم انقر فوق OK. سنقوم بإنشاء مشروع Freestyle كمثال.
الخطوة 3) بمجرد النقر OKستتم إعادة توجيهك إلى نموذج إعداد المشروع. أدخل معلومات المشروع هنا:
الخطوة 4) سترى بوابة الخيار تحت مصدر Code الإدارة إذا تم تثبيت إضافة Git في Jenkins:
ملاحظة: إذا كان بوابة إذا لم يظهر الخيار، فأعد تثبيت الإضافة، ثم أعد التشغيل. Jenkinsثم قم بتسجيل الدخول إلى لوحة التحكم مرة أخرى. بوابة سيظهر الخيار بعد ذلك كما هو موضح أعلاه.
الخطوة 5) ادخل إلى مستودع Git URL لسحب الكود من GitHub.
الخطوة 6) قد تظهر لك رسالة خطأ في المرة الأولى التي تدخل فيها إلى المستودع. URL. على سبيل المثال:
يحدث هذا عندما لا يكون برنامج Git مثبتًا على الجهاز الذي يعمل عليه Jenkins. Jenkins لا يتضمن البرنامج المساعد ملف Git التنفيذي الخاص به؛ بل يستدعي البرنامج المساعد ملف Git التنفيذي على الجهاز المضيف. لتثبيت Git محليًا، انتقل إلى https://git-scm.com/downloads.
قم بتنزيل برنامج تثبيت Git المناسب لجهازك نظام التشغيل — في هذه الحالة Windows — وتثبيته على الجهاز الذي يعمل Jenkinsأكمل التعليمات التي تظهر على الشاشة لإنهاء التثبيت.
الخطوة 7) Jenkins يمكنك تشغيل مستودعات Git بمجرد تثبيت Git على الجهاز. لتأكيد التثبيت، افتح الأوامر، نوع gitثم اضغط على مفتاح الإدخال (Enter). ستظهر قائمة بخيارات Git:
:: Confirm the Git executable resolves and report its version git --version :: Expected output git version 2.51.0.windows.1 :: Show the full path Jenkins should record in Global Tool Configuration where git
هذا يؤكد أن برنامج Git مثبت على نظامك.
ملاحظة: إذا كان Git مثبتًا بالفعل، فأضف git.exe المسار تحت إدارة Jenkins > الأدوات (مُصنَّف) تكوين الأدوات العامة (في الإصدارات القديمة).
الخطوة 8) بعد تجهيز كل شيء، أضف Git URL إلى Jenkins مرة أخرى. لم تظهر أي رسالة خطأ، مما يؤكد ذلك. Jenkins تكامل Git:
تم الآن إعداد Git بشكل صحيح على نظامك. سيتم استنساخ المستودع العام في هذه المرحلة، لكن المستودع الخاص لا يزال بحاجة إلى بيانات اعتماد، وهي الخطوة التالية.
كيفية المصادقة Jenkins باستخدام رمز الوصول الشخصي من GitHub
توقف موقع GitHub عن قبول كلمات مرور الحسابات لعمليات Git في أغسطس 2021. كان إدخال اسم المستخدم وكلمة المرور في Jenkins لذلك، يفشل النظام في الوصول إلى أي مستودع خاص بسبب خطأ في المصادقة، حتى عند استخدام نفس بيانات الاعتماد لتسجيل الدخول إلى موقع GitHub الإلكتروني. يتم استبدال كلمة المرور برمز وصول شخصي، و Jenkins يخزنها في مخزن بيانات الاعتماد الخاص بها بدلاً من تخزينها في إعدادات المهمة.
قم بإنشاء الرمز المميز في GitHub أولاً:
- في GitHub، افتح الإعدادات > إعدادات المطور > رموز الوصول الشخصية.
- اختيار بالغة الدقة استخدم الرمز المميز حيثما أمكن، لأنه يمكن حصره في مستودع واحد، أو كلاسيكي رمز مميز إذا كانت مؤسستك لا تزال تتطلب واحدًا.
- امنح صلاحية قراءة محتويات المستودع. أضف صلاحية كتابة حالة الالتزام فقط عند الحاجة. Jenkins لإبلاغ نتائج البناء مرة أخرى إلى عمليات الالتزام.
- حدد تاريخ انتهاء الصلاحية وانسخ الرمز المميز على الفور - يعرضه GitHub مرة واحدة فقط.
ثم قم بتسجيل الرمز المميز في الداخل Jenkins:
- انتقل إلى البرنامج المساعد في التأليف إدارة Jenkins > بيانات الاعتماد > النظام > بيانات الاعتماد العامة ثم انقر إضافة بيانات الاعتماد.
- اختر اسم المستخدم وكلمة المرور أدخل اسم مستخدم GitHub الخاص بك، ثم الصق رمز في حقل كلمة المرور.
- أعطِ المدخل معرّفًا واضحًا مثل
github-patلذا يمكن التعرف عليه في شاشات تكوين الوظائف. - العودة إلى العمل، افتح مصدر Code الإدارة > جيتثم اختر بيانات الاعتماد الجديدة من أوراق اعتماد اسقاط.
خطأ التحقق الأحمر أسفل المستودع URL يختفي بمجرد Jenkins يمكن المصادقة. هناك ملاحظتان عمليتان جديرتان بالتذكر. أولاً، تنتهي صلاحية الرموز المميزة؛ فالمهمة التي تعمل بثبات لعدة أشهر ثم تفشل فجأة عند السحب، غالباً ما يكون السبب هو انتهاء صلاحية الرمز المميز وليس خللاً في المستودع. ثانياً، يُعد مفتاح SSH بديلاً صالحاً - أضف المفتاح الخاص كـ اسم مستخدم SSH مع المفتاح الخاص بيانات الاعتماد واستخدامها git@github.com:owner/repo.git URL نموذج بدلاً من نموذج HTTPS.
كيفية التشغيل Jenkins يتم البناء تلقائيًا باستخدام GitHub Webhook
لا تزال المهمة التي تم إنشاؤها أعلاه تتطلب بدءها يدويًا، مما يُفقد التكامل المستمر جدواه. يُسدّ Webhook هذه الثغرة: حيث يرسل GitHub طلب HTTP إلى Jenkins في كل دفعة، و Jenkins يبدأ البناء فوراً.
Jenkins يجب أن يكون الوصول إليه متاحًا من GitHub لكي يعمل هذا. على جهاز كمبيوتر محمول يعمل localhost:8080 ليس كذلك، لذا إما المضيف Jenkins للجمهور URL أو تعريضها مؤقتًا من خلال خدمة النفق أثناء الاختبار.
- قم بتثبيت إضافة GitHub. العودة إلى إدارة Jenkins > الإضافات > الإضافات المتاحة وتثبيت GitHub جيثب:وهذا يضيف خيار التشغيل الذي لا توفره إضافة Git وحدها.
- قم بتفعيل المشغل في المهمة. افتح إعدادات المهمة، ثم انتقل إلى بناء المشغلات، ووضع علامة مُحفِّز ربط GitHub لاستطلاع GITScm.
- أضف رابط الويب في GitHub. في المستودع، افتح الإعدادات > روابط الويب > إضافة رابط ويب.
- حدد الحمولة URL لديك Jenkins العنوان متبوعا
/github-webhook/. الشرطة المائلة الأخيرة مهمة. - حدد نوع المحتوى إلى
application/jsonواختر مجرد حدث الدفع. - احفظ واختبر. يرسل GitHub ping فوراً. علامة صح خضراء أسفل التسليمات الأخيرة يعني Jenkins قبلت ذلك.
# Payload URL format for the GitHub webhook https://jenkins.example.com/github-webhook/ # Content type application/json # Verify from the Jenkins host that the endpoint answers curl -I https://jenkins.example.com/github-webhook/
قم بدفع التغييرات لتأكيد إغلاق الحلقة. ستظهر المهمة في قائمة انتظار الإنشاء في غضون ثوانٍ قليلة دون أي إجراء يدوي. إذا لم يحدث شيء، فافتح رابط الويب في GitHub واقرأ التسليمات الأخيرة رمز الاستجابة: يشير الرمز 403 عادةً إلى Jenkins تمنع إعدادات الأمان الوصول المجهول إلى نقطة النهاية، بينما يعني انتهاء المهلة أن GitHub لا يمكنه الوصول إلى Jenkins URL على الإطلاق.
بمجرد أن يتم تشغيل عمليات البناء تلقائيًا، فإن الاحتكاك المتبقي عادة ما يكون عبارة عن عدد قليل من الأخطاء المتكررة.
مشترك Jenkins أخطاء وحلول تكامل GitHub
تندرج جميع عمليات التكامل الفاشلة تقريبًا ضمن إحدى الفئات التالية، ولكل منها عرض مميز يشير مباشرة إلى السبب.
- لا يوجد خيار Git ضمن المصدر Code الإدارة: لم يتم تثبيت إضافة Git أو لم يتم تحميلها. أعد تثبيتها من إدارة Jenkins > الإضافات، إعادة تشغيل Jenkinsثم أعد تحميل صفحة إعدادات المهمة.
- "فشل الاتصال بالمستودع" على خادم عام URL: برنامج Git غير موجود Jenkins قم بتثبيت Git على الجهاز المضيف، ثم قم بالتأكيد باستخدام
git --versionوسجل المسار تحت إدارة Jenkins > الأدوات. - فشلت عملية المصادقة على مستودع خاص: يتم استخدام كلمة مرور حساب. استبدلها برمز وصول شخصي كما هو موضح أعلاه، أو قم بالتبديل إلى مفتاح SSH.
- لا تبدأ عمليات البناء أبدًا بعد عملية الدفع: إما مُشغِّل خطاف GitHub تم إلغاء تحديد خانة الاختيار، أو يتعذر على GitHub الوصول إلى Jenkins URLتحقق من سجل تسليم Webhook في إعدادات المستودع.
- تم إنشاء فرع خاطئ: القادم محدد الفرع لا يزال يحتفظ بالوضع الافتراضي
*/masterبينما يستخدم المستودعmainقم بتحديث المُحدِّد ليطابق ذلك. - كانت عملية الدفع تعمل بالأمس، لكنها لا تعمل اليوم: انتهت صلاحية رمز الوصول الشخصي. قم بإنشاء رمز بديل وتحديث بيانات الاعتماد المخزنة.
تحقق أيضا: ل Jenkins البدائل (مفتوحة المصدر ومدفوعة) و مبادئ السلوك خط أنابيب CI/CD شرح تفصيلي، يعتمد على العلاقة التي تم إنشاؤها هنا.
















