जेनकिंस बनाम ट्रैविस-सीआई। आप ओपन सोर्स प्रोजेक्ट के लिए किसका उपयोग करेंगे? [बन्द है]


270

अपनी परियोजना के लिए मुझे जेनकिंस और ट्रैविस-सीआई के बीच चयन करने की आवश्यकता है। मैं वर्षों से जेनकिंस का उपयोग कर रहा हूं लेकिन मैंने ट्रैविस-सीआई के बारे में अच्छी समीक्षा भी पढ़ी है।

ओपन सोर्स प्रोजेक्ट के लिए आप किसका उपयोग करेंगे? दोनों के मुख्य लाभ या लाभ क्या हैं?

जवाबों:


293

ट्रैविस-सी और जेनकिंस, जबकि दोनों निरंतर एकीकरण के लिए उपकरण हैं, बहुत अलग हैं।

ट्रैविस एक होस्टेड सेवा है (खुले स्रोत के लिए मुफ्त) जबकि आपको जेनकिंस की मेजबानी, स्थापना और कॉन्फ़िगर करना होगा।

ट्रेविस के पास जेनकिंस में नौकरी नहीं है । कोड का परीक्षण करने के लिए चलाने की आज्ञाएँ एक फ़ाइल से ली जाती हैं जिसका नाम .travis.ymlआपके प्रोजेक्ट कोड के साथ बैठता है। इससे प्रत्येक शाखा में अलग-अलग परीक्षण कोड रखना आसान हो जाता है क्योंकि प्रत्येक शाखा के पास .travis.yml फ़ाइल का अपना संस्करण हो सकता है।

यदि आप निम्न प्लगइन्स में से किसी एक का उपयोग करते हैं, तो जेनकींस के साथ एक समान सुविधा हो सकती है:

  • ट्रैविस वाईएमएल प्लगिन - चेतावनी: लोकप्रिय प्रतीत नहीं होता है, शायद असली ट्रैविस की तुलना में पूर्ण नहीं है।
  • Jervis - Jenkins के एक संशोधन ने इसे पढ़ने के लिए .jervis.ymlप्रोजेक्ट कोड के मूल में पाई गई फ़ाइल से कार्य बनाएं । यदि .jervis.ymlमौजूद नहीं है, तो .travis.ymlइसके बजाय फ़ाइल का उपयोग करके वापस आ जाएगा ।

अन्य होस्टेड सेवाएं हैं जिन्हें आप निरंतर एकीकरण के लिए भी विचार कर सकते हैं (गैर निकास सूची):


कैसे चुनाव करें ?

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

आपके कोड रिपॉजिटरी की मेजबानी के आधार पर मैं निम्नलिखित विकल्प बनाऊंगा:

  • इन-हाउस → जेनकिंस या गिटलैब-सीआई
  • Github.com → ट्रैविस-सीआई

गितुब परियोजना पर ट्रैविस-सीआई को सेटअप करने के लिए, आपको बस इतना करना है:

  • अपनी परियोजना के मूल में .travis.yml फ़ाइल जोड़ें
  • travis-ci.com पर एक खाता बनाएँ और अपनी परियोजना को सक्रिय करें

आपको मिलने वाली सुविधाएँ इस प्रकार हैं:

  • ट्रैविस आपके रेपो पर किए गए प्रत्येक पुश के लिए आपके परीक्षण चलाएगा
  • ट्रैविस आपके परीक्षणों को प्रत्येक पुल अनुरोध योगदानकर्ताओं पर चलाएगा

25
मेरे अनुभव में, ट्रेविस के ऊपर जेनकिंस का उपयोग करने से आपको बहुत परेशानी से भी बचा जा सकता है ( .travis.yml!) मेरे पास कई गिटब परियोजनाएं हैं जिनके लिए मैं अपने खुद के जेनकिंस चला रहा हूं, और मुझे उस एक बिट पर पछतावा नहीं है। यदि आपके पास अपने स्वयं के जेनकींस को चलाने की क्षमता है, तो मैं उस विकल्प को प्रोत्साहित करूंगा। आपके CI- पर्यावरण का 100% नियंत्रण होना अच्छा है।
साइमन फोर्सबर्ग

21
जेनकिंस पाइपलाइन प्लगइन (जो ज्यादातर स्थितियों में फ्री-स्टाइल प्रोजेक्ट्स को बदलने के लिए है) आपकी परियोजना में पाइपलाइन ग्रूवी स्क्रिप्ट को एक फ़ाइल (आमतौर पर "जेनकिंसफाइल" नाम दिया गया है) में रखने की अनुमति देता है, जिससे उसे वही सुविधाएँ मिलती हैं जो उल्लेखित हैं। ऊपर ट्रैविस-सीआई, जो जेनकिंस टीम द्वारा समर्थित होने का जोड़ा बोनस है।
खैनीकटोरे

48

मैंने ट्रैविस और जेनकिंस दोनों पर काम किया: मैं दोनों की कुछ विशेषताओं को सूचीबद्ध करूंगा:

किसी प्रोजेक्ट के लिए CI सेट करें

ट्रैविस पहले स्थान पर आता है। इसे सेटअप करना बहुत आसान है। GitHub के साथ सेटअप करने में एक मिनट से भी कम समय लगता है।

  1. GitHub में लॉगिन करें
  2. ट्रैविस के लिए वेब हुक बनाएँ ( संपादित करें:
  3. ट्रैविस पर लौटें, और अपने GitHub क्रेडेंशियल के साथ लॉगिन करें
  4. अपने GitHub रेपो को सिंक करें और पुश और पुल अनुरोधों को सक्षम करें।

जेनकींस:

  1. एक वातावरण बनाएँ (मास्टर जेनकिंस)
  2. वेब हुक बनाएँ
  3. प्रत्येक कार्य को कॉन्फ़िगर करें (ट्रैविस की तुलना में समय लगता है)

फिर से चल रहा है बनाता है

ट्रैविस: GitHub पर लिखने की पहुंच वाला कोई भी व्यक्ति 'पुनः आरंभ बिल्ड' पर क्लिक करके बिल्ड को फिर से चला सकता है

जेनकिंस: एक वाक्यांश के आधार पर फिर से रन बनाता है। आप पीआर / प्रतिबद्ध विवरण में वाक्यांश पाठ प्रदान करते हैं, जैसे reverify jenkins

पर्यावरण पर नियंत्रण

ट्रैविस: ट्रैविस मेजबान वातावरण प्रदान करता है। यह हर बिल्ड के लिए आवश्यक सॉफ़्टवेयर स्थापित करता है। यह एक समय लेने वाली प्रक्रिया है।

जेनकिंस: एक बार का सेटअप। नोड / दास मशीन पर सभी आवश्यक सॉफ़्टवेयर स्थापित करता है, और फिर पूर्व-स्थापित वातावरण पर / परीक्षण बनाता है।

लॉग बनाएँ:

ट्रैविस: अमेज़न S3 में जगह बनाने के लिए लॉग का समर्थन करता है।

जेनकिंस: बिल्ड कलाकृतियों प्लगइन के साथ सेटअप करने में आसान।


क्या आप बता सकते हैं कि S3 क्या है?
पूजा


30

मैं ओपन सोर्स प्रोजेक्ट के लिए ट्रैविस का सुझाव दूंगा। इसे कॉन्फ़िगर करना और उपयोग करना सरल है।

सेटअप करने के लिए सरल कदम:

  1. आपके GITHUB खाते का उपयोग करके GITHUB खाता होना चाहिए और ट्रैविस CI वेबसाइट में पंजीकृत होना चाहिए ।
  2. .travis.ymlअपने प्रोजेक्ट के रूट में फ़ाइल जोड़ें । अपने रिपॉजिटरी सेटिंग पेज में ट्रैविस को सेवा के रूप में जोड़ें।

अब हर बार जब आप अपने भंडार में काम करते हैं तो ट्रैविस आपकी परियोजना का निर्माण करेगा। ट्रैविस सीआई के साथ आरंभ करने के लिए आप सरल चरणों का पालन कर सकते हैं ।


7
ओपन सोर्स के लिए ट्रैविस सीआई का उपयोग करने के लिए एक चेतावनी: यह विंडोज नहीं बल्कि लिनक्स या ओएसएक्स पर अपने बिल्ड और परीक्षण चलाता है। यदि आपका प्रोजेक्ट है, तो कहें। .NET या पॉवरशेल इसे आपके लिए ट्रैविस सीआई का उपयोग करने में सक्षम होने के लिए .NET (या तो मोनो या .NET कोर) या पॉवरशेल (पॉवरशेल कोर) के क्रॉस-प्लेटफॉर्म संस्करण में लिखना होगा। । एक अधिक विंडोज-फ्रेंडली होस्ट किया गया सीआई टूल ऐपवेअर है ..
साइमन टेवेसी
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.