अब हम जेनकिंस को कुछ वर्षों के लिए क्रोन ड्रॉप के रूप में उपयोग कर रहे हैं, और यहां कुछ पेशेवरों और विपक्ष हैं:
पेशेवरों
यदि आप दर्जनों सर्वरों और कई वातावरणों में बड़ी संख्या में प्रक्रियाओं का प्रबंधन कर रहे हैं, तो यह कई चीजों को आसान बनाता है। आपको बॉक्स से ईमेल अलर्ट मिलते हैं, हर चीज के लिए एक आम डैशबोर्ड, लॉग के लिए एक वेब इंटरफेस और नौकरी चलाने के लिए अतिरिक्त नोड सेटअप करने का एक आसान तरीका। समर्थन टीमें विशेष रूप से समस्याओं की जांच करने और नौकरियों को फिर से चलाने के लिए इस केंद्रीय स्थान की सराहना करती हैं।
जेनकिंस प्लग-इन इकोसिस्टम बहुत सक्रिय है और अतिरिक्त कार्यक्षमता का एक मेजबान प्रदान करता है ... मुझे लगता है कि यह वास्तव में जेनकिंस 'हत्यारा' सुविधा है, क्योंकि अगर जेनकिंस खुद को वह नहीं प्रदान करते हैं जो आप (अक्सर मामला) देख रहे हैं, तो अधिक अक्सर ऐसा नहीं होता कि एक प्लगइन होता है। मेरे कुछ पसंदीदा: Cron Column, Rebuild, NodeLabel Parameter, Log Parser, और Email-ext।
उन्नत शेड्यूलिंग / ट्रिगर समर्थन: शेड्यूल सिंटैक्स मूल रूप से क्रोन है, इसलिए आपके पास वहां एक ही लचीलापन है, लेकिन यह ट्रिगर, रीस्ट एपीआई और ग्रूवी / जावा एपीआई द्वारा पूरक है।
विपक्ष
असफलता का केंद्र बिंदु: क्योंकि आपकी सभी नौकरियां एक सर्वर द्वारा बंद कर दी जाती हैं, यदि वह बॉक्स नीचे चला जाता है और कोई भी नोटिस नहीं करता है, तो बड़ी परेशानी। तो आपके पास आउटेज को तुरंत पकड़ने के लिए बेहतर निगरानी है, साथ ही साथ आपके सभी कॉन्फ़िगरेशन स्रोत नियंत्रण में सहेजे गए हैं। यहां तक कि अगर आप अपने मूल सर्वर को वापस नहीं पा सकते हैं, तो जब तक आप अपना काम कॉन्फ़िगर करते हैं तब तक उन्हें कहीं और सेटअप करने के लिए यह तुच्छ है। यदि संकल्प करने का समय एक चिंता का विषय है, तो स्टैंडबाय पूर्व-कॉन्फ़िगर होना कहीं न कहीं एक अच्छा विचार है।
यदि आपके पास कई वातावरण (देव, UAT, प्रोडक्ट) हैं, तो आमतौर पर आपके पास प्रत्येक वातावरण पर चलने वाले नौकरी के कुछ अलग संस्करण हैं। एक जेनकींस पर इन सभी नौकरियों के होने से अनजाने में हो सकता है, और मैन्युअल रूप से उन्हें कॉन्फ़िगर करने से भारी दर्द हो सकता है। हमारे मामले में, हम प्रत्येक पर्यावरण के लिए एक अलग जेनकींस 'क्रोन' उदाहरण चलाते हैं। इंस्टेंस को इन-हाउस परिनियोजन टूल का उपयोग करके स्वचालित रूप से इंस्टॉल और कॉन्फ़िगर किया गया है। आपके पास ऐसा कुछ नहीं हो सकता है, लेकिन खुले स्रोत उपकरण हैं जो समान चीजें करते हैं (टेम्पलेट्स का उपयोग करके कॉन्फ़िगर करें)। यदि आप config पीढ़ी की समस्या को हल कर सकते हैं, तो यह जेनकिंस की स्थापना और तैनाती को बहुत आसान बनाता है, और आपके सभी सामान को स्रोत नियंत्रण में रखना भी आसान बनाता है।
जेनकिंस को अपग्रेड करने से कभी-कभी कार्यक्षमता टूट जाती है, विशेष रूप से प्लगइन्स के साथ। जब तक आपने नए संस्करण को पहले कहीं और आज़माया नहीं है, तब तक अपने मिशन के महत्वपूर्ण जेनकिन्स उदाहरण को अपग्रेड न करें। यह वह जगह है जहाँ दर्पण जेन पर्यावरण के अपने जेनकिंस उदाहरण के साथ वास्तव में काम आता है।
संभवतः जोर देने के लिए एक बात: हम वास्तव में सीआई के लिए जेनकिंस का भी उपयोग करते हैं, लेकिन यह एक अलग उदाहरण है ... 'क्रोन' उदाहरण नौकरी प्रबंधन के लिए समर्पित हैं, और 'सीआई' उदाहरण सीआई के लिए समर्पित है। चिंताओं को अलग करने से चीजें साफ होने लगती हैं।
एक साइड नोट के रूप में, मैं घर पर अपने लिनक्स बॉक्स पर क्रोन के बजाय जेनकिंस का उपयोग करता हूं :)
वैसे, यह वास्तव में एक बहुत ही सामान्य जेनकींस उपयोग मामला है। उदाहरण के लिए, Sandia National Lab इस तरह से जेनकिंस का उपयोग करता है:
https://software.sandia.gov/trac/fast/wiki/Hudson
और इस का वर्णन करने वाले कई ब्लॉग पोस्ट और ट्यूटोरियल हैं। यहाँ कुछ उदाहरण दिए गए हैं:
http://blog.vuksan.com/2011/08/22/use-jenkins-as-a-cron-server/
http://morgajel.net/2011/12/12/1108
मुझे यह भी जोड़ना चाहिए कि यह वास्तव में जेनकिंस से संबंधित है, और सामान्य तौर पर सभी सीआई उपकरण नहीं हैं। सिर्फ इसलिए कि जेनकिंस ऐसा करने के लिए अच्छी तरह से अनुकूल हैं, इसका मतलब यह नहीं है कि अन्य (TeamCity, buildbot, आदि) हैं ...