जेनकिंस गिट एकीकरण - हर DevOps पेशेवर के लिए उपयोगी है



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

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

तो चलिए शुरू करते हैं अपने पहले विषय से।





Git क्या है - Git क्यों अस्त्तिव मे आना?

हम सभी जानते हैं कि 'आवश्यकता सभी आविष्कारों की जननी है'। इसी तरह, Git कुछ आवश्यकताओं को पूरा करने के लिए उभरा, जिसे डेवलपर्स ने Git के सामने पेश किया। तो, आइए हम संस्करण नियंत्रण प्रणाली (VCS) और कैसे Git अस्तित्व में आए, के बारे में जानने के लिए एक कदम वापस लें।

संस्करण नियंत्रण दस्तावेज़, कंप्यूटर प्रोग्राम, बड़ी वेबसाइट और सूचना के अन्य संग्रह में परिवर्तन का प्रबंधन है।



VCS दो प्रकार के होते हैं:

  • केंद्रीकृत संस्करण नियंत्रण प्रणाली (CVCS)

  • वितरित संस्करण नियंत्रण प्रणाली (DVCS)



केंद्रीकृत वीसीएस

एक केंद्रीकृत संस्करण नियंत्रण प्रणाली (CVCS) सभी फ़ाइलों को संग्रहीत करने के लिए एक केंद्रीय सर्वर का उपयोग करता है और टीम के सहयोग को सक्षम करता है। यह एक एकल रिपॉजिटरी पर काम करता है जिससे उपयोगकर्ता सीधे केंद्रीय सर्वर तक पहुंच सकते हैं।

CVCS का बेहतर विचार प्राप्त करने के लिए कृपया नीचे दिए गए चित्र को देखें:

उपरोक्त आरेख में भंडार एक केंद्रीय सर्वर को दर्शाता है जो स्थानीय या दूरस्थ हो सकता है जो सीधे प्रोग्रामर के प्रत्येक कार्य से जुड़ा होता है।

हर प्रोग्रामर एक्सट्रैक्ट कर सकता है या अपडेट करें रिपॉजिटरी में मौजूद डेटा के साथ उनके वर्कस्टेशन। वे डेटा में परिवर्तन कर सकते हैं या प्रतिबद्ध है रिपॉजिटरी को। प्रत्येक ऑपरेशन सीधे भंडार पर किया जाता है।

भले ही यह एकल रिपॉजिटरी को बनाए रखने के लिए बहुत सुविधाजनक लगता है, इसमें कुछ प्रमुख कमियां हैं। उनमें से कुछ हैं:

बाइनरी को पूर्णांक जावा में बदलें
  • यह स्थानीय रूप से उपलब्ध नहीं है जिसका अर्थ है कि आपको किसी भी कार्य को करने के लिए हमेशा एक नेटवर्क से जुड़े रहने की आवश्यकता है।

  • चूंकि सब कुछ केंद्रीकृत है, केंद्रीय सर्वर के दुर्घटनाग्रस्त होने या दूषित होने के किसी भी मामले में परियोजना का पूरा डेटा खो जाएगा।

यह वह जगह है जहाँ वितरित VCS समस्या को हल करता है।

वितरित VCS

ये सिस्टम किसी प्रोजेक्ट फ़ाइल के सभी संस्करणों को संग्रहीत करने के लिए एक केंद्रीय सर्वर पर निर्भर नहीं होते हैं।वितरित VCS में, प्रत्येक योगदानकर्ता के पास एक स्थानीय प्रति या मुख्य भंडार का 'क्लोन' होता है। यहां हर कोई अपने स्वयं के एक स्थानीय भंडार रखता है जिसमें मुख्य भंडार में मौजूद सभी फाइलें और मेटाडेटा शामिल हैं।

नीचे दिए गए आरेख का संदर्भ देकर आप इसे बेहतर समझेंगे:

जैसा कि आप ऊपर दिए गए आरेख में देख सकते हैं, प्रत्येक प्रोग्रामर अपने आप पर एक स्थानीय भंडार रखता है, जो वास्तव में उनकी हार्ड ड्राइव पर केंद्रीय भंडार की प्रतिलिपि या क्लोन है। वे बिना किसी हस्तक्षेप के अपने स्थानीय भंडार को प्रतिबद्ध और अद्यतन कर सकते हैं।

वे केंद्रीय सर्वर से नए डेटा के साथ अपने स्थानीय रिपॉजिटरी को अपडेट कर सकते हैं जिसे “ऑपरेशन” कहा जाता है। खींचें 'नामक ऑपरेशन के द्वारा मुख्य रिपॉजिटरी में परिवर्तन को प्रभावित करता है' धक्का दें “उनके स्थानीय भंडार से।

अब हम Git की परिभाषा के बारे में जानने का प्रयास करते हैं।

  • Git एक वितरित संस्करण नियंत्रण उपकरण है जो गुणवत्ता सॉफ्टवेयर विकसित करने के लिए डेटा आश्वासन प्रदान करके गैर-रेखीय वर्कफ़्लोज़ का समर्थन करता है। गिट जैसे उपकरण विकास और संचालन टीम के बीच संचार को सक्षम करते हैं।

  • आम तौर पर जब आप एक बड़ी परियोजना विकसित कर रहे होते हैं तो आपके पास बड़ी संख्या में सहयोगी होते हैं। इसलिए परियोजना में बदलाव करते समय सहयोगियों के बीच संवाद होना बहुत जरूरी है।

  • Git में प्रतिबद्ध संदेश टीम के बीच संवाद स्थापित करने में बहुत महत्वपूर्ण भूमिका निभाते हैं। संचार के अलावा, Git का उपयोग करने का सबसे महत्वपूर्ण कारण यह है कि आपके पास हमेशा आपके साथ कोड का एक स्थिर संस्करण होता है।

  • इसलिए, Git DevOps में सफल होने में महत्वपूर्ण भूमिका निभाता है।

जेनकिंस क्या है?

जेनकिंस जावा में लिखा गया एक ओपन-सोर्स ऑटोमेशन टूल है, जो कॉन्टीन्यूअस इंटीग्रेशन उद्देश्यों के लिए बनाया गया है। जेनकिन्स का उपयोग आपकी सॉफ़्टवेयर परियोजनाओं के निर्माण और परीक्षण के लिए किया जाता है, जिससे डेवलपर्स के लिए प्रोजेक्ट में बदलावों को एकीकृत करना आसान हो जाता है, और उपयोगकर्ताओं के लिए एक ताज़ा निर्माण प्राप्त करना आसान हो जाता है। यह आपको बड़ी संख्या में परीक्षण और तैनाती प्रौद्योगिकियों के साथ एकीकृत करके अपने सॉफ़्टवेयर को लगातार वितरित करने की अनुमति देता है।

जेनकींस के साथ, संगठन स्वचालन के माध्यम से सॉफ्टवेयर विकास की प्रक्रिया को तेज कर सकते हैं। जेनकिंस निर्माण, दस्तावेज़, परीक्षण, पैकेज, मंच, तैनाती, स्थैतिक विश्लेषण और बहुत कुछ सहित सभी प्रकार के विकास के जीवन-चक्र प्रक्रियाओं को एकीकृत करता है।

जेनकिन्स प्लगइन्स की मदद से निरंतर एकीकरण प्राप्त करता है। प्लगइन्स विभिन्न DevOps चरणों के एकीकरण की अनुमति देते हैं। यदि आप किसी विशेष टूल को एकीकृत करना चाहते हैं, तो आपको उस टूल के लिए प्लगइन्स इंस्टॉल करना होगा। उदाहरण के लिए Git, Maven 2 परियोजना, Amazon EC2, HTML प्रकाशक, आदि।

जेनकिंस के लाभों में शामिल हैं:

  • यह एक खुला स्रोत उपकरण है जिसमें महान सामुदायिक समर्थन है।

  • स्थापित करने के लिए बहुत आसान है।

  • आपके काम को आसान करने के लिए इसमें 1000+ प्लगइन्स हैं। यदि कोई प्लगइन मौजूद नहीं है, तो आप इसे कोड कर सकते हैं और समुदाय के साथ साझा कर सकते हैं।

  • यह मुफ्त है।

  • यह जावा के साथ बनाया गया है और इसलिए, यह सभी प्रमुख प्लेटफार्मों के लिए पोर्टेबल है।

अब आप जानते हैं कि जेनकिन्स पारंपरिक एसडीएलसी कमियों पर कैसे काबू पाता है। नीचे दी गई तालिका “जेनकिन्स से पहले और बाद” के बीच तुलना को दर्शाती है।

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

जेनकिंस और गिट का उपयोग एक साथ क्यों किया जाता है?

जैसे कि पहले भी चर्चा की जा चुकी है, जाओ एक स्रोत नियंत्रण प्रबंधक है। यह वह जगह है जहां आप अपने स्रोत कोड को उन सभी कोड परिवर्तनों पर नज़र रखने के लिए रखते हैं जो समय के साथ होते हैं और संस्करणों के आधार पर जब वे रिलीज़ के लिए तैयार होते हैं।

जेनकिंस दूसरी ओर, एक निरंतर एकीकरण समाधान है। यह उन सभी कार्यों को स्वचालित करने के लिए तैयार है जो एक डेवलपर को एक नया एप्लिकेशन (कोड गुणवत्ता जांच, भवन, बिल्ड कलाकृतियों का संग्रह, एकीकरण परीक्षण, विभिन्न वातावरणों में तैनाती, आदि) विकसित करने के लिए करना है, एक सीआई समाधान के बिना, एक डेवलपर। इन दोहराए गए गैर-उत्पादक कार्यों को करने में बहुत समय बिताना पड़ता है।

लाभ:

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

उदाहरण:

वेब एप्लिकेशन में एक नई सुविधा का उदाहरण लेते हैं। एक डेवलपर की पहचान की जाएगी और उसे कार्य सौंपा जाएगा, वह मौजूदा नियंत्रण से स्रोत कोडबेस लेता है - कहते हैं, गिट, अपने बदलाव करता है, इकाई परीक्षण करता है, कोड गुणवत्ता को मैन्युअल रूप से सुनिश्चित करता है और नए कोड को वापस गिट में जांचता है।

फिर उसे कोड का निर्माण करना होगा, इसे एकीकरण उदाहरण में तैनात करना होगा, एकीकरण परीक्षण चलाना होगा और एक बार बदलाव संतोषजनक लगने के बाद उत्पादन परिनियोजन के लिए अनुरोध करना होगा। अब, यदि केवल हमारे पास इस परीक्षण, भवन, गुणवत्ता की जाँच और परिनियोजन अनुभागों की देखभाल करने के लिए एक मीनार होती थी, तो गरीब डेवलपर उस सामान पर बेहतर ध्यान केंद्रित कर सकता था जो वह वास्तव में अच्छा हो - लागू करना और फीचर के तर्क को सुधारना।

यह मिनियन जेनकिंस है। स्रोत नियंत्रण (Git) में परिवर्तन की जाँच करने के बाद यह इन सभी गतिविधियों को चलाने के लिए एक ऑर्केस्ट्रेटर के रूप में कार्य करता है और इस प्रकार डेवलपर को त्वरित प्रतिक्रिया देता है कि उसने जो बदलाव किए हैं वे उत्पादन परिनियोजन के लिए पर्याप्त हैं या नहीं।यह एक बेहद लचीला, खुला स्रोत है और इसमें एक टन प्लग इन है जो लगभग कुछ भी कर सकता है जो आप इसे करना चाहते हैं।

डेमो

यहां हम देखेंगे कि जेनिट्स के साथ गिट को कैसे एकीकृत किया जाए। 5 चरण हैं जिनका आपको पालन करना चाहिए:

1. एक नमूना कार्यक्रम बनाएँ:

आप कोई भी नमूना प्रोग्राम बना सकते हैं जिसे आप जावा या पायथन या किसी अन्य प्रोग्राम की तरह चाहते हैं। यहां हम एक सरल लिखेंगे पायथन कार्यक्रम हैलो प्रिंट करता है, दुनिया!

2. जेनकिंस नौकरी बनाएँ:

  • यहां पहले आपको आवश्यकता है जेनकिंस शुरू करो कमांड प्रॉम्प्ट का उपयोग करना।

  • उसके लिए, आपको पहले अपने सिस्टम पर जेनकिन्स स्थान पर नेविगेट करने और कमांड का उपयोग करने की आवश्यकता है जावा -जेन जेनकिंस.वर

  • इस कमांड को चलाने के बाद, वेब ब्राउज़र खोलें और लिंक का उपयोग करके जेनकिन्स के होम पेज पर जाएं लोकलहोस्ट: 8080 । यह डिफ़ॉल्ट पोर्ट नंबर है।

  • द्वारा जेनकींस होम पेज खोलें उपयोगकर्ता नाम और पासवर्ड दर्ज करना।

  • प्रोजेक्ट बनाने के लिए पर क्लिक करें नई वस्तु और दर्ज करें परियोजना का नाम और चुनें फ्रीस्टाइल परियोजनाओके पर क्लिक करें।

3. इस कार्यक्रम को गितुब में जोड़ें:

  • खुला गट बाश आपके सिस्टम पर। नेविगेट करें अपने कार्यक्रम के स्थान पर। कमांड का उपयोग करके एक खाली रिपॉजिटरी को आरम्भ करें गिट इनिट

  • कमांड का उपयोग करें जोड़ देना। फ़ाइल को कार्यशील निर्देशिका से स्टेजिंग क्षेत्र में जोड़ने के लिए।

  • अब कमांड का उपयोग करके फाइल को स्थानीय रिपॉजिटरी में जोड़ें git कमिट -म 'डेमोक्रोम फाइल जोड़ी गयी'

  • अब आपको करना है धक्का दें दूरस्थ रिपॉजिटरी में यह फाइल। ऐसा करने के लिए अपने GitHub खाते में जाएं और एक नया सार्वजनिक भंडार बनाएं। अब इस रिपॉजिटरी के स्थान को कॉपी करें और git bash टर्मिनल पर जाएं। यहां कमांड टाइप करें git रिमोट एड मूल । चूंकि अब आप दूरस्थ रिपॉजिटरी से जुड़ चुके हैं, अब आप कमांड का उपयोग करके अपने कोड को वहां धकेल सकते हैं git push -u मूल गुरु। इसे सत्यापित करने के लिए GitHub खाते में जाएं और पृष्ठ को रीफ्रेश करें। आपको वहां जोड़ी गई फ़ाइल दिखाई देगी।

4. जेनकिंस में गिट प्लगिन जोड़ें:

  • जेनकिंस के होमपेज पर जाएं जेनकिंस की व्यवस्था करें

  • अगला पर क्लिक करें प्लगइन्स को प्रबंधित करें । यहां इंस्टॉल सेक्शन में चेक को Git plugin मिला। यदि यह उपलब्ध नहीं है, तो उपलब्ध अनुभाग में इसे खोजें और इसे डाउनलोड करें।

5. बिल्ड को ट्रिगर करने के लिए जेनकिंस नौकरी कॉन्फ़िगर करें:

  • जेनकिंस में उस परियोजना पर जाएं जिसे हमने चरण 2 में बनाया था। यहां स्रोत कोड प्रबंधन अनुभाग में, गिट का चयन करें और चरण 3 में आपके द्वारा बनाए गए सार्वजनिक भंडार का लिंक दर्ज करें ट्रिगर अनुभाग बनाएँ , पर क्लिक करें पोल SCM विकल्प । यहां अनुसूची भाग में, आपको अंतरिक्ष द्वारा अलग किए गए पांच तारांकन दर्ज करने होंगे। यह आपकी नौकरी के लिए क्रोन सिंटैक्स के अलावा और कुछ नहीं है। इसका मतलब है कि जेनकिंस हर मिनट स्रोत कोड में किसी भी बदलाव के लिए जाँच करेगा और अगर कोई बदलाव है तो यह जेनकिन्स बिल्ड को ट्रिगर करेगा।

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

तो यह कैसे जेनकिंस Git एकीकरण किया जाता है। इसके साथ, हम जेनकिन्स गिट एकीकरण पर इस लेख के अंत में आए हैं। मुझे उम्मीद है कि आपको यह लेख अच्छा लगा होगा।

अब आप समझ गए होंगे कि क्या जेनकिंस गिट एकीकरण यह है, इसे देखें 250,000 से अधिक संतुष्ट शिक्षार्थियों के एक नेटवर्क के साथ एक विश्वसनीय ऑनलाइन शिक्षण कंपनी, एडुरेका द्वारा, दुनिया भर में फैली हुई है। Edureka DevOps प्रमाणन प्रशिक्षण पाठ्यक्रम शिक्षार्थियों को यह समझने में मदद करता है कि DevOps क्या है और विभिन्न DevOps प्रक्रियाओं में विशेषज्ञता प्राप्त करता है और कठपुतली, जेनकींस, नगिओस, Ansible, शेफ, साल्टस्टैक और GIT जैसे विभिन्न चरणों को SDLC में स्वचालित करने के लिए।

क्या आप हमसे कोई प्रश्न पूछना चाहते हैं? कृपया टिप्पणी अनुभाग में इसका उल्लेख करें और हम आपके पास वापस आ जाएंगे