मुझे इसी तरह का मुद्दा था। यहाँ क्या मुझे
पूर्व अनुरोध
- जेनकींस के लिए काम किया ver है। 2 + खाता (मैं जेनकींस 2.60 उपयोग कर रहा था)
- Github (या Githhub उद्यम)
- आपका GitHub और जेनकींस एक दूसरे को से बात करने में सक्षम होना चाहिए।
Github
पर
- प्रासंगिक अधिकार के साथ एक GitHub व्यक्तिगत पहुंच टोकन (PAT) पैदा करते हैं।
- अपने रेपो के लिए, साथ
- URL के रूप में
YourJenkinsURL/github-webhook/
- और जाँच 'अनुरोध खींचो'
- एक Jenkinsfile जड़ में जोड़ें 'मुझे अलग-अलग घटनाओं का चयन करते हैं' चुनें कोई webhook बनाने आपके रेपो का फ़ोल्डर। परीक्षण के लिए आप की तरह
नीचे
pipeline {
agent any
stages {
stage('Test') {
steps {
echo 'Hello World ...'
}
}
}
}
एक बुनियादी हैलो दुनिया के रूप में सामग्री डाल सकता है जेनकींस
- पर GitHub पुल अनुरोध बिल्डर प्लगइन स्थापित करें। (आप भी "Github" प्लगइन की आवश्यकता है, लेकिन है कि सामान्य रूप ver जेनकींस के हिस्से के रूप में स्थापित किया जाना चाहिए 2 +)
- जेनकींस - साख
- GitHub व्यक्तिगत पहुंच टोकन (PAT) एक 'गुप्त पाठ' क्रेडेंशियल के रूप में।
- 'उपयोगकर्ता नाम-पासवर्ड' प्रमाण पत्र के रूप में github उपयोगकर्ता नाम-पासवर्ड जोड़ें। यह Github प्लगइन का हिस्सा है: - विन्यस्त सिस्टम
- जेनकींस का प्रबंधन करें। एक जिथब सर्वर जोड़ें। 'एपीआई यूआरएल' यह https://api.github.com पर डिफ़ॉल्ट होगा। यदि आप एंटरप्राइज़ गिथब का उपयोग कर रहे हैं, तो एंटरप्राइज़ github url के साथ प्रतिस्थापित करें/api/v3। प्रमाण पत्र के लिए पीएटी विकल्प का चयन करें। कनेक्शन का परीक्षण करें। 'हुक प्रबंधित करें' की जांच की जाती है।
- गिटहब पुल अनुरोध बिल्डर: 'गिटहब सर्वर एपीआई यूआरएल' के लिए जीथब सर्वर सेक्शन में निर्दिष्ट यूआरएल का उपयोग करें। 'साझा गुप्त' खाली छोड़ दें। क्रेडेंशियल्स के लिए 'उपयोगकर्ता नाम-पासवर्ड' प्रमाण पत्र का उपयोग करें। अपने कामकाज को सुनिश्चित करने के लिए टेस्ट प्रमाण-पत्र। मेरी सेटिंग्स में, 'वेब-ऑक्स प्रबंधित करें' की जांच की गई थी।
- पाइपलाइन नौकरी
- 'पाइप लाइन' विकल्प का उपयोग कर एक नया आइटम बनाएँ। नोट: यह वेनिला पाइपलाइन नौकरी है, मल्टीब्रैंच पाइपलाइन नहीं।
- जनरल धारा: जाँच करें 'Github परियोजना' - परियोजना यूआरएल: अपने GitHub रेपो url दर्ज करें
- बिल्ड ट्रिगर: जाँच करें 'GitHub खींचो अनुरोध बिल्डर'
- 'GitHub एपीआई साख' विकल्प का चयन के लिए आप GitHub के लिए निर्धारित में अनुरोध बिल्डर खींच 'प्रबंधित जेनकींस - कॉन्फ़िगर प्रणाली' स्क्रीन
- व्यवस्थापक सूची के लिए: ट्रिगर निर्माण के लिए जोड़ने के लिए अपने उपयोगकर्ता नाम
- चेक का प्रयोग करें GitHub हुक
- पाइपलाइन:
- 'एससीएम से पाइपलाइन स्क्रिप्ट' का चयन करें। नोट यह मानता है कि आपके रेपो के रूट फ़ोल्डर में 'जेनकिन्सफाइल'
- एससीएम: 'गिट'
- रिपोजिटरीज - रेपो विवरण दर्ज करें।क्रेडेंशियल्स के लिए 'उपयोगकर्ता नाम-पासवर्ड' आधारित क्रेडेंशियल्स का उपयोग करें। को चूक Jenkinsfile, वैसा ही छोड़ दें: होना चाहिए
${sha1}
- स्क्रिप्ट पथ -
- उन्नत क्लिक करें और refspec रूप
+refs/pull/*:refs/remotes/origin/pr/*
- शाखा जोड़ें।
- हल्के चेकआउट - यह (https://github.com/jenkinsci/ghprb-plugin/issues/507)
यह है कि अनचेक करें। तुम पूरी तरह तैयार हो। अपने रेपो के मालिक शाखा पर एक जनसंपर्क का निर्माण करना अब आपके जेनकींस पाइपलाइन काम
कुछ टिप्पणियों
- GitHub से एक जनसंपर्क के webhook पेलोड पुनः डिलीवर करने पाइपलाइन ट्रिगर नहीं करता उत्प्रेरित करने चाहिए लेकिन एक नए पीआर खोलने या यहाँ तक कि फिर से github पर एक बंद पीआर खोलना, पाइपलाइन नौकरी
- पाइपलाइन जॉब कॉन्फ़िगरेशन में, यदि आप "पाइपलाइन स्क्रिप्ट" चुनते हैं और वहां अपनी पाइपलाइन स्क्रिप्ट पेस्ट करते हैं, तो नौकरी ट्रिगर नहीं होती है !!!
स्रोत
2017-07-15 18:43:03
क्या यह संगठन के सदस्यों के पीआर के लिए या बाहरी योगदानकर्ताओं के पीआर के लिए भी काम करेगा? – elopio
@ एलोपियो, प्लगइन में समान भंडार के साथ-साथ बाहरी भंडारों से पीआरएस के निर्माण को सक्षम/अक्षम करने के विकल्प हैं। यह बिल्कुल ठीक नहीं है कि आप क्या पूछ रहे हैं, लेकिन शायद पर्याप्त पास है। –
पीआरएस परीक्षण और 'जेनकिन्सफाइल' के साथ खेलने के लिए यह आधिकारिक [जेनकिंसी/वर्कफ़्लो-डेमो] (https://hub.docker.com/r/jenkinsci/workflow-demo/) डॉकर छवि है। मैं सोच रहा था कि क्या पीआरएस पर उन अच्छे लाल और हरे रंग की जांच हो सकती है और यह पूरी तरह से संभव है ([उदाहरण यहां] (https://github.com/jenkinsci/docker-workflow-plugin/pull/57)):) और यहां एक [मल्टीब्रैंच वर्कफ़्लोज़ के बारे में उपयोगी पोस्ट] है (https://jenkins.io/blog/2015/12/03/pipeline-as-code-with-multibranch-workflows-in-jenkins/) – GabLeRoux