2011-08-05 16 views
9

के माध्यम से सुरक्षित जेनकिंस से कनेक्ट करने के लिए जिथब को कनेक्ट करें मैंने अपने टेस्ट सर्वर पर जिथब प्लगइन के साथ जेनकिन्स सेट अप किए हैं। मैंने जेनकिंस को केवल प्रमाणित उपयोगकर्ताओं (अज्ञात उपयोगकर्ताओं के पास कोई अधिकार नहीं है) और सुरक्षित कनेक्शन की अनुमति देकर सुरक्षित किया है।HTTP पोस्ट-कमिट हुक

दुर्भाग्यवश गिथब द्वारा प्रस्तुत पोस्ट-प्रतिबद्ध हुक मेरे मामले में काम नहीं कर रहा है। मैंने URL को https://jenkins.on.my.server/github-webhook/ पर मैन्युअल रूप से एक्सेस करने का प्रयास किया है और उसने मुझे "net.sf.json.JSONException: null object" त्रुटि दी है, जो ठीक है क्योंकि मैंने अपने अनुरोध के साथ कोई JSON पोस्ट नहीं किया है।

मेरा प्रश्न:

मैं प्रमाणीकृत उपयोगकर्ताओं के साथ जेनकींस सुरक्षित है, इस प्रकार मैं सही, प्रारूप https://[email protected]:jenkins.on.my.server/github-webhook/ में एक URL का उपयोग करने के लिए है? चूंकि मैं नेट पर क्रेडेंशियल्स पोस्ट नहीं करना चाहता हूं, क्या मैं गीथूब के लिए पोस्ट-प्रतिबद्ध हुक के रूप में एक सुरक्षित कनेक्शन का उपयोग कर सकता हूं?

उत्तर

2

के बाद काफी कुछ के लिए इस के साथ आसपास fiddled होने समय, मैं जेनकींस के लिए उत्कृष्ट Github OAuth Plugin का उपयोग कर समाप्त हुआ। प्रलेखन को उद्धृत करने के लिए:

संस्करण 0.4 के बाद से जिथब से पोस्ट प्रतिबद्ध हुक प्राप्त करने के लिए जिथब-वेबहूक कॉलबैक यूआरएल के उपयोग को अधिकृत करने का एक तरीका है।

Github Plugin के साथ जो निर्माण को ट्रिगर करता है, यह सबसे सुंदर काम करता है!

+0

आप अभी भी इस मामले में एक के बाद प्रतिबद्ध हुक सेट करने के लिए है? –

+0

हां, गीथब से जेनकींस का संचार अभी भी पोस्ट-प्रतिबद्ध हुक के माध्यम से किया जाता है। गीथब ओथ प्लगइन मेरी समस्या हल करता है क्योंकि मैं हुक के यूआरएल को सुरक्षित होने से बाहर कर सकता हूं, इस प्रकार गितूब को मुझे काम करने की सूचना देने की इजाजत मिलती है। – r3nj1

+1

यदि आप गिथूब ओथ का उपयोग करते हैं, तो 'ग्रिट-वेबहुक' के लिए अनुदान पढ़ने की अनुमतियां जांचना न भूलें, जो वेबहूक को प्रमाणीकरण के बिना गिथब सर्वर द्वारा निष्पादित करने की अनुमति देगा। जब मैंने प्लगइन स्थापित किया तो डिफ़ॉल्ट रूप से यह सक्षम नहीं किया गया था, और यह पता लगाने के लिए थोड़ा खोद गया कि मेरे निर्माण क्यों ट्रिगर नहीं किए गए थे। – qnm

0

सुनिश्चित नहीं हैं Github HTTPS और उन में उपयोगकर्ता नाम और पासवर्ड के साथ यूआरएल का समर्थन करता है, लेकिन आपने जो URL सूचीबद्ध नहीं करता है सही ढंग से उपयोगकर्ता नाम और पासवर्ड शामिल करें - यह बजाय इस तरह दिखना चाहिए:

https://user:[email protected]/github-webhook/

3

देखें

http://fourkitchens.com/blog/2011/09/20/trigger-jenkins-builds-pushing-github

हम सफलतापूर्वक https URL को इस्तेमाल करते हैं, और हाँ यह वाक्य रचना तुम वहाँ है का समर्थन करता है (यह होना चाहिए उपयोगकर्ता नाम:: पासवर्ड @ जेई इस मुद्दे पर अपने ब्लॉग पोस्ट nkins.on.my.server, जैसा सासा Djolic इंगित करता है)।

सुनिश्चित करें कि नौकरी स्वयं इसे सही ढंग से कॉन्फ़िगर किया गया है, इसलिए जब यह बनाता है, तो यह सही ढंग से गिथब से कनेक्ट हो रहा है और भंडार क्लोनिंग कर रहा है।

याद रखें कि जेनकिंस प्लगइन स्वचालित रूप से निर्णय लेता है कि आने वाले POST डेटा का उपयोग करके कौन सी नौकरियां बनाना है, इसलिए रिमोट ट्रिगर काम करने से पहले नौकरियों को सही ढंग से सेटअप और निर्माण करने की आवश्यकता है।

इसके अलावा, सुनिश्चित करें कि आप जेनकींस में सेटअप उपयोगकर्ता सही अनुमतियां हैं (कुल मिलाकर पढ़ा है, नौकरी बना सकते हैं और नौकरी पढ़ें) के रूप में यहाँ का सुझाव दिया:

Jenkins and GitHub webhook: HTTP 403

1

मैं एक ही समस्या का सामना करना पड़ा है - आप का उपयोग कर GitHub OAuth प्लगइन का उपयोग कर से बचने कर सकते हैं:

http://user:[email protected]

संबंधित मुद्दे