मैन्युअल रूप से जेनकिंस में प्लगइन कैसे स्थापित करें


119

अद्यतन केंद्र से एक प्लगइन स्थापित करने में परिणाम:

इंटरनेट कनेक्टिविटी की जाँच http://www.google.com/ से कनेक्ट करने में विफल । शायद आपको HTTP प्रॉक्सी को कॉन्फ़िगर करने की आवश्यकता है? प्लगिन विफलता लागू करें - विवरण hudson.util.IOException2: http://updates.jenkins-ci.org/download/plugins/deploy/1.9/deploy.pi से डाउनलोड करने में विफल

क्या प्लगइन डाउनलोड करना और मैन्युअल रूप से जेनकिंस में इसे स्थापित करना संभव है?

जवाबों:


156

हाँ तुम कर सकते हो। प्लगइन डाउनलोड करें (* .hpi फ़ाइल) और इसे निम्न निर्देशिका में रखें:

<jenkinsHome>/plugins/

बाद में आपको जेनकिंस को पुनरारंभ करना होगा।


7
यह विधि स्वचालित रूप से स्थापित किए जा रहे प्लगइन की निर्भरता वाले किसी भी प्लगइन्स को स्थापित नहीं करती है। जैसे कि मैं इसकी अनुशंसा नहीं करता हूं और मैं इस कारण से मतदान कर रहा हूं। कृपया मुझे बताएं कि क्या मुझसे गलती हुई है और मैं अपने वोट को कम कर दूंगा।
फारुख नजमी

8
यदि आप मैन्युअल रूप से एक प्लगइन स्थापित करने के लिए मजबूर हैं (जो भी कारण के लिए) मैं किसी भी अन्य विधि से अवगत नहीं हूं जो स्वचालित रूप से और साथ ही निर्भरता स्थापित करने का ध्यान रखेगा।
माइकल कुलर

मैं यह कैसे पता लगा सकता हूं कि जेनकिंस का घर कहां है? का उपयोग करके whereis jenkins?
काला

4
/var/lib/jenkinsहालाँकि, मैंने पाया कि पहले से ही कई प्लगइन्स हैं, लेकिन वे .jpiइसके बजाय समाप्त होते हैं .hpi। मुझे क्या करना चाहिए?
ब्लैक

3
जेनकींस ने .hpi से .jpi तक की स्थापना के दौरान प्लगइन फ़ाइल का नाम बदल दिया है, इस तरह से यह एक मौजूदा पर स्थापित करने के लिए एक नए प्लगइन का पता लगाने में सक्षम है। यहां देखें: stackoverflow.com/questions/30658375/…
माइकल कुलर

137
  1. प्लगइन डाउनलोड करें।
  2. जेन्किन्स के अंदर: जेनकिंस का प्रबंधन करेंप्लगइन्स प्रबंधित करें → एक टैब है जिसे एडवांस्ड कहा जाता है और उस पेज पर एक प्लगइन अपलोड करने का विकल्प होता है (फ़ाइल का एक्सटेंशन hpi होना चाहिए)।

कभी-कभी, जब आप प्लगइन्स डाउनलोड करते हैं तो आपको (.zip) फाइलें मिल सकती हैं (बस .hpi) के साथ नाम बदलें और प्लगइन को स्थापित करने के लिए UI का उपयोग करें।


4
यह संभवतः '' अधिक सुरक्षित '' है क्योंकि स्टैकओवरफ्लो.com/a/14953877/ 627806 क्योंकि यह फ्रंट-एंड से गुजर रहा है।
जॉन बर्गेस

कभी-कभी यह आवश्यक है यदि प्लगइन गलतफहमी के कारण जेनकिन्स शुरू करने में विफल रहता है। उदाहरण के लिए मुझे इस मुद्दे के कारण एक मैनुअल इंस्टाल करना पड़ा ।
dskrvk

1
मैंने इस प्लगइन को स्थापित करने की कोशिश की, ज़िप को hpi में बदल दिया, और प्रबंधन प्लग इन में उन्नत विकल्प से अपलोड करने का प्रयास किया, लेकिन यह त्रुटि दे रहा हैA problem occurred while processing the request. Please check our bug tracker to see if a similar problem has already been reported. If it is already reported, please vote and put a comment on it to let us gauge the impact of the problem. If you think this is a new issue, please file a new issue. When you file an issue, make sure to add the entire stack trace, along with the version of Jenkins and relevant plugins.

आपको क्या समस्या है? क्या हम वास्तविक अपवाद को जान सकते हैं?
jfcorugedo

1
ध्यान दें कि nginx द्वारा लगाई गई एक आकार सीमा है (देखें: [ issues.jenkins-ci.org/browse/JENKINS-32575] ), इसलिए आपको या तो nginx कॉन्फ़िगरेशन बदलने या मैन्युअल रूप से अपलोड करने की आवश्यकता हो सकती है।
मोशे ज़वी

22

यदि आप डॉकर का उपयोग करते हैं, तो आपको यह फ़ाइल पढ़नी चाहिए: https://github.com/cloudbees/jenkins-ci.org-docker/blob/master/plugins.sh

माता-पिता Dockerfile का उदाहरण:

FROM jenkins
COPY plugins.txt /plugins.txt
RUN /usr/local/bin/plugins.sh /plugins.txt

plugins.txt

<name>:<version>
<name2>:<version2>

मैं इसे करने वाले के लिए इसे हल करने की कोशिश कर रहा था और इस जवाब में लड़खड़ा गया। बहुत अच्छा काम करता है!
मुगलियो

यह इस बात पर निर्भर करता है कि जेनकींस किस तरह से स्थापित है। मेरी स्थापना में (apt-get install jenkins) मैं plugin.sh फ़ाइल का पता नहीं लगा सका। हालाँकि, अगर हम FROM jenkins से शुरू करते हैं तो यह मौजूद है।
हयदतुल्लाह

ध्यान दें कि आपको प्लगइन्स और उसकी सभी निर्भरताओं को plugins.txt में शामिल करना है क्योंकि यह सकरात्मक निर्भरता को हल नहीं करेगा। उदाहरण के लिए, नीले रंग की 10 + निर्भरताएँ आपको मैन्युअल रूप से शामिल
करनी होंगी

जब मैं प्रॉक्सी के पीछे डॉक कर रहा हूं तो मैं इस विधि का उपयोग कैसे करूं? plugins.shयदि जेनकेन्स में प्रॉक्सी कॉन्फ़िगर नहीं है, तो प्लग इन स्थापित नहीं कर सकते। और मुझे नहीं लगता कि डॉकफ्राइल का उपयोग करके जेनकींस में प्रॉक्सी को कॉन्फ़िगर करने की कोई विधि है।
7_R3X

13

मैंने एक सरल स्क्रिप्ट बनाई है जो निम्नलिखित कार्य करती है:

  • प्लगइन निर्देशिका में एक या अधिक प्लगइन्स डाउनलोड करें
  • लापता निर्भरता के लिए उस निर्देशिका में सभी प्लगइन्स को स्कैन करें
  • इस निर्भरता को भी डाउनलोड करें
  • लूप जब तक कोई खुली निर्भरता नहीं छोड़ी जाती है

स्क्रिप्ट के लिए कोई रनिंग जेनकिंस की आवश्यकता नहीं है - मैं इसे डॉक बॉक्स को व्यवस्थित करने के लिए उपयोग करता हूं।

https://gist.github.com/micw/e80d739c6099078ce0f3


URL अब टूट गया है क्या आप अपनी स्क्रिप्ट को रीपोस्ट कर सकते हैं?
चार्ल्स मोरिन

11

डॉकर के लिए अद्यतन: इंस्टॉल करें- installugins.sh स्क्रिप्ट का उपयोग करें । यह '-plugin' एक्सटेंशन के माइनस नाम की सूची लेता है। विवरण यहाँ देखें ।

install-plugins.sh को हटाए गए plugins.sh को बदल देता है जो अब चेतावनी देता है:

WARN: plugins.sh is deprecated, please switch to install-plugins.sh

प्लगइन्स के अनुसार plugins.txt का उपयोग करने के लिए। यह समस्या और इस समाधान को देखें:

RUN /usr/local/bin/install-plugins.sh $(cat /usr/share/jenkins/plugins.txt | tr '\n' ' ')


10

कभी-कभी जब आप प्लगइन्स डाउनलोड करते हैं तो आपको (.zip) फाइलें मिल सकती हैं (सिर्फ .hpi) के साथ नाम बदलें और फिर सभी प्लगइन्स को निकालें और <jenkinsHome>/plugins/निर्देशिका में ले जाएं ।



4

स्वीकृत उत्तर सटीक है, लेकिन सुनिश्चित करें कि आप सभी आवश्यक निर्भरता भी स्थापित करते हैं। CLI या वेब का उपयोग करके इंस्टॉल करना इस बात का ध्यान रखता है, लेकिन मेरे प्लगइन्स ब्राउज़र में दिखाई नहीं दे रहे थे या java -jar jenkins-cli.jar -s http://localhost:8080 list-pluginsतब तक उपयोग नहीं कर रहे थे जब तक कि मैंने भी निर्भरताएं स्थापित नहीं कर ली थीं ।


1
मैंने वेब से प्लगइन निर्भरता के सभी आवश्यक नवीनतम संस्करणों (संपूर्ण निर्भरता के पेड़ को स्कैन करता है) को सूचीबद्ध करने के लिए एक सरल जिस्ट बनाया है
ukasz Wiatrak

2

मेरे मामले में, मुझे एक ऑफ़लाइन बिल्ड सर्वर पर एक प्लगइन स्थापित करने की आवश्यकता है जो कि विंडोज सर्वर चला रहा है (संस्करण यहां कोई फर्क नहीं पड़ेगा)। मैंने पहले से ही बदलावों का परीक्षण करने के लिए अपने लैपटॉप पर जेनकिन्स स्थापित किया था और यह स्थानीयहोस्ट पर चल रहा है: 8080 एक विंडोज़ सेवा के रूप में।

तो अगर आप इंटरनेट कनेक्शन के साथ जेनकिंस को एक मशीन पर सेटअप करने के लिए समय निकालना चाहते हैं और इन परिवर्तनों को ऑफ़लाइन सर्वर जेनकिन्स पर ले जाएं (यह मेरे द्वारा पुष्टि की जाती है!), ये ऐसे चरण हैं जिनका आप अनुसरण कर सकते हैं।

  • मेरे लैपटॉप पर जेनकिंस: जेनकिंस, http: // लोकलहोस्ट: 8080 खोलें
  • नेविगेटर: मैनेज जेनकींस | बिना इंस्टॉल ऑप्शन के प्लगइन डाउनलोड करें
  • विंडोज एक्सप्लोरर: डाउनलोड किए गए प्लगइन फाइल को कॉपी करें जो "c: \ program files (x86) \ Jenkins \ plugins" फ़ोल्डर में स्थित है (यानी भूमिका-रणनीति। jpi)
  • इसे ऑफ़लाइन सर्वर में एक साझा फ़ोल्डर में पेस्ट करें
  • घटक सेवाओं, जेनकींस सेवा के माध्यम से जेनकिंस सेवा (ऑफलाइन सर्वर जेनकिंस) को रोकें
  • प्लगिन फ़ाइल (यानी भूमिका- strategy.jpi) को "ऑफलाइन: जेनकिंस" सर्वर पर "c: \ program files (x86) \ Jenkins \ plugins" फ़ोल्डर में कॉपी करें
  • जेनकींस और वॉइला को फिर से शुरू करें! इसे स्थापित किया जाना चाहिए।

2

उत्तर दिए गए काम, जोड़े गए प्लगइन्स के साथ।

यदि आप क्रेडेंशियल प्लगइन की तरह एक अंतर्निहित प्लगइन को बदलना / अपडेट करना चाहते हैं, जिसमें निर्भरताएं हैं, तो आपको फ्रंटएंड का उपयोग करना होगा। स्वचालित उपयोग के लिए:

 curl -i -F file=@pluginfilename.hpi http://jenkinshost/jenkins/pluginManager/uploadPlugin

1

यह एक जेनकींस बॉक्स से दूसरे में प्लगइन्स को कॉपी करने का एक तरीका है।

प्लगइन्स निर्देशिका पर कॉपी करें:

scp -r jenkins-box.url.com:/var/lib/jenkins/plugins .

प्लगइन्स संपीड़ित करें:

tar cvfJ plugins.tar.xz plugins

उन्हें अन्य जेनकींस बॉक्स पर कॉपी करें:

scp plugins.tar.xz different-jenkins-box.url.com
ssh different-jenkins-box.url.com "tar xvfJ plugins.tar.xz -C /var/lib/jenkins"

जेनकींस को फिर से शुरू करें।


0

अपनी सभी निर्भरताओं के साथ प्लगइन "गिट" स्थापित करने के लिए:

curl -XPOST http://localhost:8080/pluginManager/installNecessaryPlugins -d '<install plugin="git@current" />'

यहाँ, स्थापित प्लगइन है git; संस्करण, जैसा @currentकि जेनकींस द्वारा अनदेखा किया गया है। जेनकिंस localhostबंदरगाह पर चल रहा है 8080, इसे आवश्यकतानुसार बदल दें। जहाँ तक मुझे पता है, यह 'अपने हाथ से' सभी निर्भरता के साथ एक प्लगइन स्थापित करने का सबसे सरल तरीका है। जेनकिंस पर परीक्षण किया गयाv1.644

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.