2016-07-08 13 views
5

में दो जेनकींस सर्वर रखते हुए मैंसिंक

  • एक सामान्य जेनकींस मास्टर jettysburg: 8888/जेनकींस,
  • और एक विफलता जेनकींस मास्टर jettyperry: 8888/जेनकींस।

मैं सिंक में दो स्वामी की नौकरियों निर्देशिका रखने के लिए तेज उपयोग करने के लिए योजना बना रहा हूँ।

आमतौर पर, अधिकांश समय, नई नौकरियां और निर्माण को जेटीसबर्ग में परिभाषित और निष्पादित किया जाता है: 8888। तब मुझे जेट्टीपर्री को सिंक करने की आवश्यकता होगी: 8888 जोट्सबर्ग में जो भी हुआ था: 8888, और मैं दिन में एक बार धक्का करने की योजना बना रहा हूं।

जिसका अर्थ है जेटटाइरी के लिए विफलता के बाद: 8888, पुश को विपरीत दिशा में किया जाएगा।

मैं अपने "मिशन महत्वपूर्ण" फ़ाइलों के बढ़ते और अनावश्यक बैकअप करने के साधन के रूप में, मेरे उद्देश्य के लिए गैर-प्रोग्रामिंग/कोडिंग फ़ाइलों (जैसे शब्द, एक्सेल और टेक्स्ट फाइल) के लिए Mercurial का उपयोग कर रहा हूं, साथ ही साथ उन्हें संस्करणित करना

मैं भी जेनकिंस नौकरियों में किए गए परिवर्तनों से पीछे हटने के लिए Mercurial पर निर्भर होने की उम्मीद कर रहा हूं।

दो जेनकिंस स्वामी को एक अच्छा विचार सिंक करने के लिए Mercurial का उपयोग कर रहा है? क्या दो जेनकींस सर्वर को सिंक में रखने का कोई बेहतर तरीका है? इस मामले में, मैं केवल नौकरियों के पेड़ को सिंक कर रहा हूं।

उत्तर

4

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

मेरा कार्यालय गिट के साथ करता है। हमारे पास जेनकिंस सर्वर का विकास और उत्पादन सेट है। हम जेनकिंस के साथ बेस लिनक्स छवि को सभी नेसिसरी मॉड्यूल के साथ स्थापित करते हैं और स्थानीय रूप से लाइब्रेरी इंस्टॉल करते हैं (जैसे नोडजेस और ऐसे)। फिर हम छवि का एक उदाहरण स्पिन करते हैं और नौकरियों को खींचते हैं।

एक चीज जो चुनौती हो सकती है वह क्रेडेंशियल्स और जेनकींस कॉन्फ़िगरेशन सेटिंग्स जैसी चीजों को सिंक में रख रही है - आपको उन्हें मूल छवि के हिस्से के रूप में रखने की आवश्यकता हो सकती है। https://wiki.jenkins-ci.org/display/JENKINS/Gearman+Plugin

+0

यह/var/lib/जेनकींस/jobs/* जो भंडार के लिए जाना जाएगा और बाकी छवि का हिस्सा है, प्लगइन्स सहित हो जाएगा हो जाएगा। और आधार छवि लाया जाता है जब, हम रिपोजिटरी से जेनकींस नौकरियों xmls खींच सकते हैं और हम किया जाता है। यह सही समझ है? – vaibhavnd

+1

@vaibhavnd हाँ, जब तक आप अनुमतियों को बदलने या एक प्लगइन जोड़ने, आदि के आधार छवि को संशोधित हर बार के रूप में ..., आप फिर से लांच चल रही सभी स्थितियों तुम ठीक साझा करने Git के माध्यम से रोजगार के अवसर होना चाहिए। यह आप को पुन: लॉन्च नहीं है, आप एक काम है कि एक प्लगइन या एक चल उदाहरण पर नहीं पुस्तकालय पर निर्भर करता है जोड़ सकते हैं। – Ray

0

वहाँ दो हैं:

आप लागू करने के लिए और (एक मास्टर-गुरु सेटअप की तरह) साझा किया काम कतारों की जरूरत है आप इस प्लगइन, जो कई जेनकींस स्वामी एक ही काम कतार साझा करने देता है देख सकते हैं इस दृष्टिकोण:

  1. इसके बजाय गर्म बैक-अप के साथ एक समाधान के करीब पहुंच ताकि आप एक सक्रिय सक्रिय समाधान प्राप्त क्यों क्लस्टर मास्टर पर विचार नहीं की। आप https://wiki.jenkins-ci.org/display/JENKINS/Gearman+Plugin पर देखना चाह सकते हैं। इससे आपको स्वामी के समूह को क्लस्टर करने में मदद मिलती है, इसलिए नीचे जाने वाला कोई मुद्दा नहीं होना चाहिए।

  2. कंटेनरों पर जेनकींस चलाने पर विचार करें, और जेएनकिंस प्रोजेक्ट निर्देशिका को एनएफएस में बाहरी वॉल्यूम के रूप में बाहरी करें ताकि आप नीचे जाने पर एक और कंटेनर ला सकें - दोनों कंटेनर चलाना समवर्ती लिखने के साथ एक चुनौती होगी (यदि कोई है)।

उम्मीद है कि इससे मदद मिलती है।

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