سؤال

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

أحاول تشغيل وظيفة على جينكينز عندما يتم دفع التغيير إلى فرع التطوير الخاص بي (أو الفرع الرئيسي ، لا يبدو أنه يعمل).

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

أي فكرة عن كيفية تكوين هذا?لدي مستودعات متعددة أرغب في العمل معها ، لذا لا يبدو أن نشر المفاتيح هو الحل بالنسبة لي.

هل كانت مفيدة؟

المحلول

تحديث:

كما كريغ رينجر يذكر في جوابه, ، يمكنك تحديد Grant READ permissions for /github-webhook في "تكوين جنكينز" تحت إعدادات البرنامج المساعد جيثب ، مما يسمح للويب هوك ليتم استدعاؤها دون مصادقة.

تحديث آخر: خطافات الويب الآن (ديسمبر.2014) متاح للتنظيم:انظر ويبهوكس أبي للمنظمات.


ملاحظة:ال العدد 4 من هدسون-جيثب-البرنامج المساعد كان على وشك:

Last GitHub Push

Polling has not run yet.

وكان الاستنتاج:

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

فهل هذه مشكلة إذن فيما يتعلق بمستخدمي جينكينز?

المادة "قم بإعداد جينكينز-سي على أوبونتو لاختبار سي تطبيق ريلز 3 غير المؤلم"يتضمن العملية التالية:

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

  • اذهب إلى Manage Jenkins > Configure System,
  • تحقق من Enable Security خانة الاختيار
  • تحت Security Realm, ، اختر قاعدة بيانات المستخدم الخاصة بجينكينز
  • تحقق من Allow users to sign up خانة الاختيار
  • تحت Authorization, ، اختر Project-based Matrix Authorization Strategy
  • إضافة المستخدم الأول مع اسم المشرف وآخر مع جيثب (ملاحظة:اسم المستخدم للوصول المشرف يجب أن يكون المشرف) لجيثب اسمه المستخدم ، مجرد اختيار إذن القراءة الشاملة فقط.سنستخدم هذا المستخدم لاحقا مع خطاف جيثب.

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

انتقل إلى إدارة Jenkins > Manage Users > Create User.إنشاء كل من المشرف ومستخدمي جيثب.

ربط مع جيثب على شبكة الإنترنت السنانير

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

وصلت إلى صفحة السنانير لمستودعك.على سبيل المثال.

github.com/<username>/<project_name>/admin/hooks

تحت AVAILABLE SERVICE HOOKS > Post-Receive URLs, ، إضافة github:github@your-ci-server.com/github-webhook/.

ال github:github هو المستخدم الذي أنشأناه سابقا.

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

نصائح أخرى

يبدو أن الإجابة المقبولة لم تعد ضرورية مع الإصدار الحالي من المكون الإضافي جيثب.يمكنك بدلا من ذلك التحقق Grant READ permissions for /github-webhook في "تكوين جنكينز" تحت إعدادات البرنامج المساعد جيثب ، مما يسمح للويب هوك ليتم استدعاؤها دون مصادقة.

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

هناك طريقتان لتحقيق التلقائي يبني على جنكينز.ما اخترت يعتمد على ما إذا كان جيثب يمكن استدعاء جنكينز server URL التي تقدمها.هذا قد لا يكون الحال إذا كنت تقوم بتشغيل جنكينز خلف جدار حماية.

  1. إذا جيثب يمكن أن تصل إلى هذا العنوان يمكنك إعداد خدمة هوك على الريبو هناك.
  2. إذا كان لا يمكنك تعيين ما يصل إلى جنكينز استطلاع دوري.

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

وفي كلتا الحالتين تحتاج جيثب المساعد جنكينز.

على أمل أن يساعد قليلا.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top