श्रमसाध्य विवरण का ध्यान रखने वाली CI/CD पाइपलाइन के साथ अपने उत्पादन और परिनियोजन की समस्याओं को कम करें।

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

केवल कुछ सरल चरणों के साथ, आप प्रक्रिया को स्वचालित करने के लिए परिनियोजन वर्कफ़्लो सेट कर सकते हैं। इसमें शाखाओं में नए परिवर्तनों को ट्रैक करना और किसी त्रुटि को लॉग करना शामिल है। फायरबेस की होस्टिंग सेवा पर रिएक्ट एप्लिकेशन को तैनात करने का तरीका जानने के लिए आगे पढ़ें।

सीआई/सीडी पाइपलाइन क्या है?

एक सीआई/सीडी (सतत एकीकरण/सतत वितरण) पाइपलाइन स्वचालित प्रक्रियाओं का एक सेट है जो इसे लगातार बनाने, परीक्षण करने और अनुप्रयोगों को तैनात करने के लिए कार्यान्वित किया जाता है।

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

एक सीआई/सीडी पाइपलाइन आमतौर पर कुछ चरणों को शामिल करती है, इसमें शामिल हैं:

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

पाइपलाइन को यह सुनिश्चित करने के लिए प्रत्येक चरण की निगरानी करनी चाहिए कि कोई बग नहीं है और भविष्य की रिलीज के लिए पूरी प्रक्रिया में सुधार करना है।

गिटहब क्रिया क्या है?

गिटहब क्रियाएं गिटहब द्वारा सीआई/सीडी पाइपलाइनों में सॉफ़्टवेयर की तैनाती वर्कफ़्लो प्रक्रियाओं को स्वचालित करने के लिए प्रदान की जाने वाली एक सुविधा है। यह आपके प्रोजेक्ट के GitHub रिपॉजिटरी से सीधे परिनियोजन वर्कफ़्लोज़ को परिभाषित और स्वचालित करना संभव बनाता है।

GitHub क्रियाओं के कई लाभ हैं:

  1. प्रयोग करने में आसान: GitHub क्रियाएँ परिनियोजन वर्कफ़्लोज़ सेट करने के लिए उपयोगकर्ता के अनुकूल इंटरफ़ेस और सरल सिंटैक्स प्रदान करती हैं। आप GitHub पर इन-बिल्ट एडिटर का उपयोग करके अपने प्रोजेक्ट वर्कफ़्लो को आसानी से और तेज़ी से परिभाषित कर सकते हैं।
  2. नेटिव इंटीग्रेशन: GitHub एक्शन, GitHub का हिस्सा है, जो आपके प्रोजेक्ट कोड के साथ-साथ वर्कफ़्लो को सेट अप, प्रबंधित और सहयोग करना आसान बनाता है।
  3. लचीला और अनुकूलन योग्य: GitHub क्रियाएँ एक लचीला और अनुकूलन योग्य प्लेटफ़ॉर्म प्रदान करती हैं जो यह सुनिश्चित करती है कि आप अपनी विशिष्ट आवश्यकताओं के अनुरूप कार्यप्रवाह बना सकते हैं। इसके अलावा, यह कई प्रोग्रामिंग भाषाओं का समर्थन करता है। मतलब, आप इसे अपनी पसंद की किसी भी तकनीक के साथ इस्तेमाल कर सकते हैं।

एक फायरबेस प्रोजेक्ट और रिएक्ट क्लाइंट सेट करें

आरंभ करने के लिए, पर जाएँ फायरबेस और अपने Google खाते से साइन इन करें। कंसोल सिंहावलोकन पृष्ठ पर, क्लिक करें प्रोजेक्ट बनाएं एक नई परियोजना स्थापित करने और परियोजना का नाम प्रदान करने के लिए।

अगला, एक रिएक्ट एप्लिकेशन बनाएं और फायरबेस कमांड लाइन टूल्स इंस्टॉल करें:

एनपीएम इंस्टॉल -जी फायरबेस-टूल्स

आप इस प्रोजेक्ट का कोड इसमें पा सकते हैं गिटहब रिपॉजिटरी.

अपने फायरबेस अकाउंट क्रेडेंशियल्स का उपयोग करके अपने टर्मिनल से फायरबेस में लॉग इन करें।

फायरबेस लॉगिन: सीआई

यह फायरबेस प्रमाणीकरण प्रवाह को ट्रिगर करेगा जो आपको अपना लॉगिन विवरण दर्ज करने के लिए संकेत देगा यदि आप पहले से लॉग इन नहीं हैं। एक बार फायरबेस आपको प्रमाणित कर देता है, तो यह एक टोकन प्रिंट करेगा। इस टोकन को कॉपी करें; आप इसका उपयोग अपने GitHub Actions सेटअप में Firebase कमांड चलाने के लिए कर सकते हैं।

अंत में, अपने एप्लिकेशन का उत्पादन-तैयार संस्करण बनाएं:

एनपीएम रन बिल्ड

यह आदेश एप्लिकेशन को तैनात करने के लिए आवश्यक रूट निर्देशिका में एक नए 'बिल्ड' फ़ोल्डर के अंदर आवश्यक फ़ाइलें और संपत्तियां उत्पन्न करता है।

अपने रिएक्ट एप्लिकेशन में फायरबेस को इनिशियलाइज़ करें

अपने प्रोजेक्ट फ़ोल्डर में Firebase को इनिशियलाइज़ करने के लिए यह कमांड चलाएँ:

फायरबेस init

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

निर्दिष्ट करें कि आप किसी मौजूदा प्रोजेक्ट का उपयोग करना चाहते हैं और उस प्रोजेक्ट का नाम चुनें जिसे आपने शुरुआत में Firebase के डेवलपर कंसोल पर बनाया था।

अगला, 'बिल्ड' फ़ोल्डर को निर्दिष्ट करें जनता निर्देशिका, चयन करें नहीं सभी यूआरएल को /index.html विकल्प में फिर से लिखने के लिए, चुनें नहीं GitHub से स्वचालित बिल्ड और डिप्लॉय सेट करने के विकल्प के लिए, और अंत में, चुनें हाँ बिल्ड/index.html फ़ाइल विकल्प को अधिलेखित करने के लिए।

उपरोक्त परिवर्तन करने के बाद, CLI रूट डायरेक्टरी में एक firebase.json फ़ाइल बनाएगा। इस फ़ाइल में वे सभी होस्टिंग कॉन्फ़िगरेशन शामिल हैं जिनकी GitHub क्रियाएँ वर्कफ़्लो को आवश्यकता होगी।

अंत में, GitHub क्रियाएँ वर्कफ़्लो सेट करने से पहले, GitHub पर एक रिपॉजिटरी बनाएं, और प्रोजेक्ट फ़ाइलों को इसमें पुश करें।

गिटहब क्रियाओं की स्थापना

GitHub पर अपने प्रोजेक्ट के रिपॉजिटरी में, चुनें समायोजन > राज और चर > कार्रवाई. रिपॉजिटरी के गुप्त पृष्ठ में, दर्ज करें FIREBASE_TOKEN रहस्य के नाम के रूप में, और आपके द्वारा कॉपी किए गए फायरबेस टोकन में पेस्ट करें रहस्य खेत।

परिनियोजन वर्कफ़्लो सेट करें

अपने प्रोजेक्ट के रिपॉजिटरी में क्रियाएँ टैब पर क्लिक करें और चुनें नोडज को कॉन्फ़िगर करें कार्यप्रवाह में लगातार एकीकरण अनुभाग।

अगला, फ़ाइल नाम का नाम बदलें firebase.yml, संपादक पर बॉयलरप्लेट कोड हटाएं और नीचे कोड जोड़ें:

# यह वर्कफ़्लो नोड निर्भरताओं की एक स्वच्छ स्थापना करेगा,
# कैश/उन्हें पुनर्स्थापित करें, निर्माण करें स्रोत कोड और अलग-अलग परीक्षण चलाएं
# नोड के संस्करण
# अधिक जानकारी के लिए देखें:
# https://docs.github.com/en/actions/automating-builds-and-tests
# /building-and-testing-nodejs

नाम: फायरबेस सीआई

पर:
धकेलना:
शाखाएं: [मुख्य]
पुल अनुरोध:
शाखाएं: [मुख्य]

नौकरियां:
निर्माण:

रन-ऑन: ubuntu-latest

रणनीति:
आव्यूह:
नोड-संस्करण: [14.x]

कदम:
- उपयोग: क्रियाएं/चेकआउट@v2
- नाम: नोड.जेएस ${{मैट्रिक्स.नोड-संस्करण}} का उपयोग करें
उपयोग: क्रियाएं/सेटअप-नोड@v1
साथ:
नोड-संस्करण: ${{मैट्रिक्स.नोड-संस्करण}}
- रन: एनपीएम इंस्टॉल -जी एनपीएम
- नाम: एनपीएम इंस्टॉल, बिल्ड और टेस्ट
भागो: |
एनपीएम इंस्टॉल करें
एनपीएम रन बिल्ड
- नाम: आर्काइव बिल्ड
उपयोग: कार्रवाई/अपलोड-कलाकृति@v2
साथ:
नाम: निर्माण
पथ: निर्माण

तैनात करना:
नाम: तैनात करें
जरूरत है: निर्माण
रन-ऑन: ubuntu-latest

कदम:
- उपयोग: क्रियाएं/चेकआउट@v2
- नाम: बिल्ड डाउनलोड करें
उपयोग: क्रियाएं/डाउनलोड-आर्टिफैक्ट@v2
साथ:
नाम: निर्माण
पथ: निर्माण
- नाम: फायरबेस में तैनात करें
उपयोग: w9jds/firebase-action@master
साथ:
तर्क: तैनाती - केवल होस्टिंग
ईएनवी:
FIREBASE_TOKEN: ${{secrets. FIREBASE_TOKEN }}

यहाँ कुछ प्रमुख गुणों की व्याख्या की गई है:

  1. पर: इवेंट जो इस वर्कफ़्लो में कार्रवाइयों को ट्रिगर करते हैं।
  2. नौकरियां: उन कार्यों को निर्दिष्ट करता है जिन्हें एक विशेष क्रिया को चलाना चाहिए। इस मामले में, दो कार्य हैं: निर्माण और परिनियोजन।
  3. इससे संचालित: वह मशीन जिस पर यह क्रिया चलनी है।
  4. कदम: किसी विशेष कार्य के लिए की जाने वाली कार्रवाई के चरणों के क्रम को परिभाषित करता है।
  5. साथ: क्रियाओं को चलाने के लिए आवश्यक किसी भी तर्क को निर्दिष्ट करता है।
  6. नाम: नौकरी के लिए एक विशेष चरण का नाम।

अंत में, इस फ़ाइल में किए गए परिवर्तनों को कमिट करें। GitHub स्वचालित रूप से इस वर्कफ़्लो को ट्रिगर करेगा, Firebase की होस्टिंग सेवा पर रिएक्ट एप्लिकेशन का निर्माण और परिनियोजन करेगा। आप परिनियोजन लॉग पर एप्लिकेशन के लाइव URL की जांच कर सकते हैं।

गिटहब क्रियाओं का उपयोग कर अनुप्रयोगों को तैनात करना

GitHub क्रियाएँ एक सुव्यवस्थित परिनियोजन दृष्टिकोण प्रदान करती हैं। यह सुनिश्चित करता है कि आप एप्लिकेशन को लगातार और भरोसेमंद रूप से तैनात कर सकते हैं, भले ही आप उन्हें जिस तकनीक में बनाते हैं।

इसके अलावा, आप अपनी विशिष्ट CI/CD पाइपलाइन आवश्यकताओं को पूरा करने के लिए इन-बिल्ट परिनियोजन टूल का उपयोग करके परिनियोजन वर्कफ़्लो को आसानी से अनुकूलित कर सकते हैं।