सबसे पहले, आज की तरह, जिंकलैब कम्युनिटी एडिशन जेनकिंस के साथ पूरी तरह से इंटरऑपरेबल हो सकता है। कोई प्रश्न नहीं।
इस प्रकार, मैं जेनकिंस और गिटलैब सीआई दोनों के संयोजन के सफल अनुभव पर कुछ प्रतिक्रिया देता हूं। मैं इस बात पर भी चर्चा करूंगा कि आपको दोनों में से केवल एक का उपयोग करना चाहिए या किस कारण से।
मुझे उम्मीद है कि यह आपको अपने स्वयं के प्रोजेक्ट पर गुणवत्ता की जानकारी देगा।
GitLab CI और जेनकिन्स ताकत
गिटलब सी.आई.
GitLab CI स्वाभाविक रूप से GitLab SCM में एकीकृत है। आप gitlab-ci.yml
फ़ाइलों का उपयोग करके पाइपलाइन बना सकते हैं और उन्हें ग्राफिकल इंटरफ़ेस के माध्यम से जोड़ सकते हैं ।
कोड के रूप में इन पाइपलाइनों को स्पष्ट रूप से कोड बेस में संग्रहीत किया जा सकता है, "कोड के रूप में सब कुछ" अभ्यास (पहुंच, संस्करण, प्रतिलिपि प्रस्तुत करने योग्यता, पुन: प्रयोज्य, आदि)।
GitLab CI एक बेहतरीन विजुअल मैनेजमेंट टूल है:
- टीमों के सभी सदस्यों (गैर-तकनीकी वाले सहित) के पास जीवन चक्र की स्थिति के लिए त्वरित और आसान पहुंच है।
- इसलिए इसे रिलीज प्रबंधन के लिए एक इंटरैक्टिव और ऑपरेशनल डैशबोर्ड के रूप में इस्तेमाल किया जा सकता है ।
जेनकींस
जेनकिंस एक बेहतरीन बिल्ड टूल है। यह ताकत है इसके कई प्लगइन्स में। विशेष रूप से, मैं जेनकिंस और अन्य CI या सीडी टूल्स के बीच इंटरफ़ेस प्लग इन का उपयोग करने में बहुत भाग्यशाली रहा हूं। यह हमेशा दो घटकों के बीच संवाद इंटरफेस को पुनर्विकास (संभवतः बुरी तरह से) की तुलना में बेहतर विकल्प है।
groovy
स्क्रिप्ट के उपयोग से कोड के रूप में पाइपलाइन भी उपलब्ध है ।
GitLab CI और जेनकिन्स का एक साथ उपयोग करना
यह पहली बार में थोड़ा बेमानी लग सकता है, लेकिन GitLab CI और जेनकिंस का संयोजन काफी शक्तिशाली है।
- GitLab CI ऑर्केस्ट्रा (चेन, रन, मॉनीटर ...) पाइपलाइनों और एक GitMabab के लिए एकीकृत अपने ग्राफिकल इंटरफ़ेस का लाभ उठा सकते हैं
- जेनकिंस नौकरी चलाता है और तीसरे पक्ष के उपकरण के साथ संवाद की सुविधा देता है।
इस डिजाइन का एक और लाभ यह है कि उपकरण के बीच ढीली युग्मन है:
- हम संपूर्ण CI / CD प्रक्रिया को फिर से बनाने के बिना किसी भी निर्माण कारखाने के घटकों को बदल सकते हैं
- हमारे पास एक व्यापक निर्माण वातावरण हो सकता है, संयोजन (संभवतः कई) जेनकिंस, टीमसिटी, आप इसे नाम देते हैं, और अभी भी एक एकल निगरानी उपकरण है।
अदला - बदली
खैर, निश्चित रूप से, इस डिजाइन के लिए भुगतान करने की एक कीमत है: प्रारंभिक सेट-अप बोझिल है और आपको कई उपकरणों की न्यूनतम स्तर की समझ होनी चाहिए।
इस कारण से, जब तक मैं इस तरह के सेट-अप की सिफारिश नहीं करता
- आपके पास निपटने के लिए कई तृतीय-पक्ष उपकरण हैं। जब जेनकिन्स अपने कई प्लगइन्स के साथ सुपर काम में आता है।
- आपको विषम तकनीकों के साथ जटिल अनुप्रयोगों से निपटना होगा, प्रत्येक एक अलग बिल्ड वातावरण होगा, और अभी भी एक एकीकृत एप्लिकेशन जीवन चक्र प्रबंधन UI होना चाहिए।
यदि आप इन स्थितियों में से किसी में भी नहीं हैं, तो आप शायद दोनों में से केवल एक के साथ बेहतर हैं, लेकिन दोनों में नहीं।
अगर मुझे एक चुनना था
GitLab CI और जेनकिंस दोनों के पेशेवरों और विपक्ष हैं। दोनों ही शक्तिशाली उपकरण हैं। तो कौन सा चुनना है?
उत्तर 1
अपनी टीम (या कोई करीबी) को पहले से ही एक निश्चित स्तर की विशेषज्ञता का चयन करें।
उत्तर २
यदि आप CI प्रौद्योगिकियों में सभी नए हैं, तो बस एक चुनें और जायें।
- यदि आप GitLab का उपयोग कर रहे हैं और कोड के रूप में सब कुछ के लिए एक आदत है, यह GitLab CI को चुनने के लिए कुल समझ में आता है।
- यदि आपको कई अन्य CI / CD टूल के साथ संवाद करना है या अपनी नौकरी बनाने के लिए GUI की आवश्यकता है, तो जेनकिंस के लिए जाएं।
आप में से जो GitLab का उपयोग कर रहे हैं और सुनिश्चित नहीं हैं कि वे ऐसा करते रहेंगे फिर भी यह ध्यान रखना होगा कि, GitLab CI को चुने जाने से आपके सभी CI / CD पाइपलाइनों को नष्ट कर दिया जाएगा।
अंतिम शब्द है: बैलेंस अपने कई प्लगइन्स के कारण जेनकिंस की ओर थोड़ा सा झुकता है , लेकिन संभावना है कि गिटलैब सीआई जल्दी से अंतराल को भर देगा।