स्थिर वेबसाइटों को होस्ट करने के लिए आज 2 सबसे लोकप्रिय प्लेटफॉर्म हैं: Netlify और Google App Engine (GAE) Netlify ने हाल ही में बहुत लोकप्रियता हासिल की है क्योंकि यह स्थिर वेबसाइटों के निर्माण और परिनियोजन के साथ एकीकृत अनुभव प्रदान करता है - सभी एक ही मंच में जीएई गैर-स्थैतिक वेब-साइटों का समर्थन करने के मामले में अधिक लचीला है, लेकिन इसमें निश्चित रूप से एकीकरण के स्तर का अभाव है, जो Netlify प्रदान करता है। तो मैं अभी भी कई मामलों में जीएई का उपयोग क्यों करूं? इसका उत्तर सरल है à एक ¢ एक एक अक्सर जीएई बेहतर मूल्य निर्धारण विकल्प प्रदान करता है। साथ ही यह Netlify की सभी विशेषताओं और कुछ सरल टूल (GitHub Actions और Reliza Hub) का उपयोग करने की अनुमति देता है, जिसका वर्णन मैं इस लेख में करूंगा मूल्य निर्धारण जब जीएई + गिटहब एक्शन कॉम्बो अधिक समझ में आता है तो मुझे पहले मूल्य निर्धारण परिदृश्यों को कवर करने दें। मुख्य बिंदु बिल्ड मिनट है। NetlifyâÃÂà का फ्री टीयर प्रति माह केवल 300 बिल्ड मिनट देता है, जो किसी भी खाते से ज्यादा नहीं है। यदि आप नोड.जेएस ऐप जैसी किसी चीज़ का उपयोग कर रहे हैं जो स्थिर है और आपके बिल्ड में औसतन 2-3 मिनट लगते हैं, तो आपको नेटलिफ़ पर प्रति माह लगभग 100+ बिल्ड मिलते हैं, जो आसानी से पर्याप्त नहीं हो सकते हैं। खासकर यदि आपके पास एक से अधिक वेबसाइट हैं यदि आपको Netlify पर अधिक बिल्ड मिनट की आवश्यकता है तो या तो $7 प्रति 500 ​​अतिरिक्त मिनट का भुगतान करें, या अगले स्तर पर जाएं जिसमें 1000 मिनट शामिल हैं, लेकिन लागत $45/माह है। दूसरी ओर, GitHub क्रियाओं पर आपको निजी रिपॉजिटरी के लिए 2000 बिल्ड मिनट और सार्वजनिक रिपॉजिटरी के लिए असीमित बिल्ड मिनट मिलते हैं। मान लें कि आप एक प्रलेखन वेबसाइट का निर्माण कर रहे हैं और इसे GitHub पर सार्वजनिक करने का निर्णय लेते हैं à ¢    आपको GitHub क्रियाओं पर असीमित बिल्ड मिनट मिलते हैं à एक ¢ एक एक  और यह एक बड़ा अंतर अगला विचार यातायात लागत है। Netlify अपने फ्री टियर में शामिल प्रति माह 100GB बैंडविड्थ इग्रेस प्रदान करता है, जो उदार है। Google प्रति दिन 1GB इग्रेस मुफ्त प्रदान करता है, जो इसे लगभग 30GB प्रति माह बनाता है। तो अगर आपका इग्रेस 30GB और 100GB के बीच है तो आपको Netlify पर बेहतर डील मिल सकती है। हालाँकि, एक बार जब आप 100GB से अधिक हो जाते हैं, तो Netlify आपसे उसी महीने अगले 100GB के लिए $20 शुल्क लेता है। Google की मूल्य निर्धारण नीति प्रति जीबी इग्रेस है जिसकी लागत $0.12 है। मतलब कि आप Netlify पर $12/100GB âàबनाम $20/100GB का भुगतान करते हैं इसलिए ट्रैफ़िक के आधार पर, आप या तो Netlify पर या GAE पर इग्रेस संभावित से बेहतर हो सकते हैं। लेकिन कई मामलों में जीएई यहां भी बेहतर मूल्य प्रदान करेगा मूल्य निर्धारण पर अंतिम शब्द अगर आप अपने बिल्ड के लिए गिटहब एक्शन या सर्कलसीआई जैसी किसी चीज का उपयोग कर रहे हैं, तो आप अभी भी नेटलिफाय पर तैनात कर सकते हैं। GitHub क्रियाएँ अधिक लचीली प्रणाली Google ऐप इंजन प्रोजेक्ट को कॉन्फ़िगर करना हम httpsconsole.cloud.google.com/appengine पर जाकर शुरू करते हैं और एक नया प्रोजेक्ट बनाते हैं। यदि आपके पास पहले से एक है तो पहले शीर्ष पर अपने प्रोजेक्ट नाम पर क्लिक करें और फिर पर क्लिक करें **नया काम** प्रोजेक्ट नाम दर्ज करें, यहां प्रोजेक्ट आईडी नोट करें जो आपको मिल रही है (आपको बाद में इसकी आवश्यकता होगी) मेरे मामले में यह है * à एक  ¢     evie-landing-tutorialà  ¢   * à ¢  और **Create पर क्लिक करें फिर स्विच करें पृष्ठ के शीर्ष पर प्रोजेक्ट चयनकर्ता से यह प्रोजेक्ट पर क्लिक करें **एप्लिकेशन बनाएं** और अपना वांछित क्षेत्र चुनें। फिर स्थैतिक अनुप्रयोग के लिए पायथन और मानक वातावरण का चयन करें (मुफ्त स्तर केवल मानक वातावरण पर लागू होता है)। इस बिंदु पर आपका आवेदन अगले चरणों के लिए तैयार है अपने डोमेन नाम को इस एप्लिकेशन की ओर इंगित करने के लिए, httpsconsole.cloud.google.com/appengine/settings/domains पर नेविगेट करें और क्लिक करें **एक कस्टम डोमेन जोड़ें निर्देशों का पालन करें और DNS को अपने डोमेन से GoogleâÃÂàद्वारा प्रदान किए गए रिकॉर्ड पर इंगित करें। जब यह हो जाता है, तो Google स्वचालित रूप से आपके डोमेन को इस एप्लिकेशन पर इंगित करेगा और SSL प्रमाणपत्र का प्रबंधन भी करेगा अंत में, हमें सेवा खाता तैयार करने की आवश्यकता है जो स्वत: परिनियोजन के लिए जिम्मेदार होगा। httpsconsole.cloud.google.com/iam-admin/serviceaccounts?project=your_project_id पर नेविगेट करें (बदलें *your_project_id *इस लिंक में आपकी वास्तविक प्रोजेक्ट आईडी के साथ, मेरे मामले में यह होगा *evie-landing-tutorial आपको निम्न मेनू पेज पर मिलेगा: ऐप इंजन डिफॉल्ट सर्विस अकाउंट के पास एक्शन कॉलम में 3-डॉट आइकन पर क्लिक करें। और सेलेक्ट करें ड्रॉप-डाउन मेनू से **Create key** विकल्प अपने कुंजी प्रकार के रूप में JSON चुनें और क्लिक करें **CREATE यह आपकी मशीन पर .json फ़ाइल डाउनलोड करेगा। आखिरी चीज जो हमें यहां करने की ज़रूरत है वह इस फ़ाइल को बेस 64 प्रारूप में एन्कोड करना है ࢠ  हमें बाद में इसकी आवश्यकता होगी जब हम गिटहब क्रियाओं में जा रहे हैं यह निम्नलिखित के रूप में कमांड लाइन का उपयोग करके किया जा सकता है: base64 your_json_file.json >key.base64 तब key.base64 फ़ाइल में base64 एन्कोडेड कुंजी होगी ** यहां सुरक्षा नोट ये json और base64 कुंजी फ़ाइलें आपके GAE प्रोजेक्ट को नियंत्रित करने की अनुमति देती हैं, इसलिए जब आप उन्हें GitHub क्रियाओं में जोड़ते हैं (जैसा कि IâÃÂÃÂनीचे दिखाया जाएगा), इसे श्रेड करने की अनुशंसा की जाती है इस फाइल को डिलीट करें। यह निम्नलिखित के रूप में क्ली से किया जा सकता है: टुकड़ा key_file_name&& आरएम key_file_name एक बार कुंजी प्राप्त हो जाने के बाद, हमें Google ऐप इंजन एपीआई को सक्षम करने की आवश्यकता है ââÃàऐसा करने के लिए httpsconsole.developers.google.com/apis/api/appengine पेज पर जाएं .googleapis.com/overview और क्लिक करें **सक्षम करना** गिटहब रिपोजिटरी और गिटहब क्रियाएं स्थापित करना अंत में, यह हमारे GitHub रिपॉजिटरी को तैयार करने का समय है। यह ट्यूटोरियल अनड्रा द्वारा एवी थीम के सेटअप को कवर करता है। (यह वह विषय है जिसका उपयोग मैं वर्तमान में Reliza हब लैंडिंग पृष्ठ के लिए कर रहा हूँ!) जैसा कि मैंने पहले ही अन्य लेखों में उल्लेख किया है, इन दिनों मेरा निर्माण दर्शन सब कुछ और उपयोग करना है कई प्लेटफार्मों में एक एकीकृत सीआई बिल्ड वातावरण के रूप में डॉकटर बिल्ड। इसलिए, मैंने Dockerfile, nginx कॉन्फ़िगरेशन को जोड़ा और काम करने वाले dockerized बिल्ड के लिए मूल Evie थीम के सापेक्ष npm संस्करण भी अपडेट किए अब अगर हम करते हैं Relizaà  ¢ ÂÂà  की Evie रिपॉजिटरी सामग्री पर डॉकर बिल्ड कमांड, यह पोर्ट 80 पर प्रलेखन के बिना Evie थीम परोसने वाली एक nginx- आधारित छवि का निर्माण करेगा। अब GitHub Actions स्क्रिप्ट तैयार करने का समय आ गया है। हम एक्शन-हब/जीक्लाउड@मास्टर एक्शन का उपयोग करेंगे जो पूरी प्रक्रिया को सरल बनाता है हम कार्रवाई के लिए आवश्यक 2 GitHub क्रिया रहस्य सेट करके प्रारंभ करते हैं। अपने GitHub रिपॉजिटरी के अंदर सेटिंग्स ->सीक्रेट्स पर नेविगेट करें और क्लिक करें **नया रहस्य** निम्नलिखित 2 रहस्य स्थापित करने के लिए: - GCLOUD_PROJECT_ID âÃÂà इसे प्रोजेक्ट आईडी पर सेट करें जब आप अपना प्रोजेक्ट बना रहे थे: evie-landing-tutorial in my case - GOOGLE_APPLICATION_CREDENTIALS à एक  ¢ एक एक इसे उपरोक्त Google सेवा खाते के लिए प्राप्त बेस 64-एन्कोडेड जेसन-कुंजी फ़ाइल की सामग्री पर सेट करें अब रिपॉजिटरी में मैं .github डायरेक्टरी बनाता हूं और फिर उसके अंदर वर्कफ्लो डायरेक्टरी बनाता हूं। और इसके अंदर मैं gae_build.yml बनाता हूँ। साथ ही हमें app.yaml फ़ाइल जोड़ने की आवश्यकता है जिसमें GAE कॉन्फ़िगरेशन शामिल है और मेरे पास स्थिर ऐप उपयोग केस के लिए बहुत आसान होगा आपके द्वारा और इस कोड को पुश करने के बाद, यह GitHub एक्शन बिल्ड को ट्रिगर करेगा, जो आपके GAE एप्लिकेशन ࢠ  में एक परिनियोजन करेगा और आपकी सेवाएं लाइव हो जाएंगी! गिटहब के लिए प्रत्येक अनुवर्ती धक्का स्वचालित रूप से एक नया गिटहब एक्शन बिल्ड ट्रिगर करेगा और जीएई पर स्वचालित रूप से एप्लिकेशन अपडेट करेगा अब आपके पास अपनी स्थिर वेबसाइट के लिए बुनियादी CICD पाइपलाइन तैयार है! आप यहां रुक सकते हैं या आप पढ़ना जारी रख सकते हैं कि आप रेलिजा हब का उपयोग करके अनुमोदन और परिनियोजन दृश्यता कार्यक्षमता कैसे जोड़ सकते हैं बोनस: रेलिजा हब का उपयोग करके स्वीकृतियां और दृश्यता जोड़ना मान लीजिए कि हम नहीं चाहते कि प्रत्येक नया निर्माण स्वचालित रूप से उत्पादन में जाए। इसके बजाय, हम चाहते हैं कि उन्हें पहले कहीं तैनात किया जाए जो उत्पादन नहीं है, और फिर अगर हम उन्हें पसंद करते हैं तो आपको या आपके अनुमोदक (जैसे, आपके मार्केटिंग मैनेजर) को एक बटन क्लिक करने की आवश्यकता होती है और उत्पादन को बढ़ावा देना यहां बताया गया है कि अब तक वर्णित कॉन्फ़िगरेशन के शीर्ष पर रेलिजा हब के साथ इसे कैसे प्राप्त किया जा सकता है 1 à एक ¢ एक  एक स्ट्रीमिंग रिलीज मेटाडाटा Reliza हब के लिए सबसे पहले, httpsapp.relizahub.com पर नेविगेट करें, GitHub के साथ प्रमाणित करें और अपना संगठन बनाएं, मेरे मामले में मैं इसका उपयोग करूंगा * à एक  ¢   Evie लैंडिंग Tutorialà ¢   * संगठन के नाम के रूप में। वीसीएस रिपॉजिटरी जोड़ने के लिए **वीसीएस** मेनू आइटम और फिर प्लस-सर्कल आइकन पर क्लिक करें अपने GitHub रिपॉजिटरी URI को इनपुट में पेस्ट करें और Reliza हब इसे स्वचालित रूप से पार्स कर देगा क्लिक ** सबमिट करें और यह आपकी रिपॉजिटरी बनाएगा। प्रोजेक्ट मेनू पर आगे बढ़ें और प्रोजेक्ट बनाने के लिए प्लस-सर्कल आइकन पर क्लिक करें। अपने प्रोजेक्ट का नाम दर्ज करें (मैं एकल घटक (मेजर) के लिए *एवी लैंडिंग सेट संस्करण स्कीमा का उपयोग करूंगा à एक ¢ एक एक ऐसा इसलिए है क्योंकि जीएई अपने स्वयं के संस्करण का उपयोग कर रहा है जिसमें एक घटक शामिल है à एक ¢ एक Âàजिसे हम रेलिजा हब के अंदर इस्तेमाल करेंगे। VCS रिपॉजिटरी चुनें जिसे आपने अभी पिछले चरण में बनाया था और क्लिक करें ** सबमिट करें यह नई परियोजना बनाएगा। फिर इस नए बनाए गए प्रोजेक्ट के नाम पर क्लिक करें और प्रोजेक्ट एपीआई कुंजी उत्पन्न करने के लिए लॉक आइकन पर क्लिक करें जब आप अपने प्रोजेक्ट के लिए एपीआई आईडी और एपीआई कुंजी उत्पन्न देखते हैं, तो गिटहब क्रियाओं में 2 नए रहस्य बनाएं âÃÂà RELIZA_API_PROJECT_ID और संबंधित मूल्यों के साथ RELIZA_API_PROJECT_KEY अब, हमारी gae_build.yml स्क्रिप्ट को अपडेट करने का समय आ गया है ताकि बिल्ड विवरण को रेलिजा में स्ट्रीम किया जा सके और नो-प्रमोशन मोड में भी स्विच किया जा सके। इसका मतलब यह है कि प्रत्येक गिट पुश पर, जीएई पर एक परिनियोजन बनाया जाएगा, लेकिन Google इस नए परिनियोजन पर ट्रैफ़िक को तब तक स्विच नहीं करेगा जब तक कि कुछ मैन्युअल चरण बाद में अपडेट की गई स्क्रिप्ट में रेलिजा हब को बिल्ड टाइम ट्रैकिंग की रिपोर्टिंग शामिल है और इसमें जीएई पर प्रत्येक गैर-पदोन्नत तैनाती का यूआरआई भी होगा। आप Reliza Go Client के GitHub रिपॉजिटरी में हमारे द्वारा उपयोग किए जाने वाले विभिन्न झंडों का विवरण पा सकते हैं GitHub क्रियाएँ पुश पूर्ण होने पर चलने के बाद, आप Reliza हब में अपनी रिलीज़ के पृष्ठ पर नेविगेट कर सकते हैं और निम्न चित्र देख सकते हैं: ध्यान दें कि पर क्लिक करना **टेस्ट एंडपॉइंट** लिंक आपको इस स्रोत कोड प्रविष्टि âÃÂà के अनुरूप GAE पर वास्तविक परिनियोजन संस्करण पर ले जाएगा लेकिन अभी तक ट्रैफ़िक की सेवा के लिए प्रचारित नहीं किया गया है रेलिजा हब पर हर नई रिलीज की सूचनाएं प्राप्त करने के लिए आप यहां गाइड के बाद सुस्त एकीकरण भी जोड़ सकते हैं 2 à एक ¢ एक एक एक स्वीकृतियां जोड़ना रेलिजा हब के सेटिंग पृष्ठ पर जाएं और इसके निचले भाग में उत्पादन वातावरण के लिए अपने अनुमोदन मैट्रिक्स को कॉन्फ़िगर करें। मेरे मामले में, मुझे किसी रिलीज़ को प्रोडक्शन में प्रचारित करने के लिए केवल मार्केटिंग से अनुमोदन की आवश्यकता होगी। के रूप में निम्नानुसार: पर क्लिक करें ** मैट्रिक्स सहेजें ** इसके बाद मैं Reliza GitHub ऐप âÃÂà httpsgithub.com/apps/reliza-hub âÃÃà इंस्टॉल करता हूं और ट्यूटोरियल Ià¢Ã का पालन करता हूं ÃÂइस परियोजना के लिए इसे पंजीकृत करने के लिए पहले लिखा है अंत में, एक नया गिटहब एक्शन वर्कफ़्लो जो रेलिजा हब से अनुमोदन पर ट्रिगर किया जाएगा - आप इसे यहां देख सकते हैं। अनिवार्य रूप से, यह वर्कफ़्लो सबसे हाल के उत्पादन-अनुमोदित संस्करण के लिए रेलिजा हब से पूछताछ करता है और फिर Google ऐप इंजन से उस संस्करण पर ट्रैफ़िक स्विच करने का अनुरोध करता है। केवल एक चीज जिसे इस स्क्रिप्ट में कॉन्फ़िगरेशन की आवश्यकता है, वह है RELIZA_PROJECT_ID पर्यावरण चर âÃÂàजिसे Reliza हब में प्रोजेक्ट पेज पर प्राप्त प्रोजेक्ट UUID पर सेट करने की आवश्यकता है: अब, MARKETING की स्वीकृति के साथ नवीनतम प्रोजेक्ट रिलीज़ को स्वचालित रूप से Google ऐप इंजन की ओर से प्रचारित किया जाएगाविवरण के लिए, आप संगठन में अनुमोदकों को कैसे जोड़ सकते हैं, अनुमोदनों पर मेरा ट्यूटोरियल वीडियो देखें3 âÃÂà क्या तैनात है जबअंत में हम रेलिजा हब पर दृश्यता जोड़ना चाहते हैं कि वास्तव में कौन सी रिलीज तैनात की गई है और कबऐसा करने के लिए पहले रेलिजा हब में इंस्टेंस पर जाएं और नया बनाने के लिए प्लस-सर्कल आइकन पर क्लिक करें उदाहरणइसके बाद मैं अपने उदाहरण का यूआरआई दर्ज करता हूं और उत्पादन के लिए पर्यावरण का चयन करता हूं ࢠएक एक  क्योंकि मेरे पास इस स्थैतिक वेबसाइट पर केवल उत्पादन वातावरण है।क्लिक करना**सबमिट** मेरा नया उदाहरण बनाता हैअगला मैं इस नए बनाए गए उदाहरण का चयन करता हूं और इसकी एपीआई कुंजी उत्पन्न करने के लिए लॉक आइकन पर क्लिक करता हूंजब एपीआई आईडी और एपीआई कुंजी उत्पन्न होती है, तो गिटहब क्रियाओं में 2 नए रहस्य बनाएं âÃÂàRELIZA_API_INSTANCE_ID और RELIZA_API_INSTANCE_KEY इसी मान के साथइसके साथ मैं पहली बार जीएई पर परिनियोजन की जांच करने के लिए अनुभाग जोड़ने और इसे रेलिजा हब पर स्ट्रीम करने के लिए अपनी ऑन-स्वीकृति परिनियोजन स्क्रिप्ट को अपडेट करता हूं।और मैं अपने GAE एप्लिकेशनकी स्थिति को सत्यापित करने के लिए एक cron GitHub Actions वर्कफ़्लो भी जोड़ता हूं। Reliza हब हमारे उदाहरण दृश्य में निम्नलिखित के रूप में है:सारांशयह है, अब हमारे पास एक पूर्ण पुश-बटन CI CD पाइपलाइन है जिसमें GitHub क्रियाएं GAE और अनुमोदन और दृश्यता पर तैनात हैं Reliza हब द्वारा प्रबंधित।हमारे पास स्लैक नोटिफिकेशन भी हो सकते हैं और हमारा मार्केटिंग मैनेजर बदलाव देख सकता है और तकनीकी कर्मचारियों से पूछे बिना उन्हें उत्पादन में बढ़ावा देने के लिए बटन दबा सकता है।कितना कूल है वो? यदि आप मुझसे बात करना चाहते हैं और इस या अन्य वर्कफ़्लो पर आगे चर्चा करना चाहते हैं, तो मेरे साथ एक नो-स्ट्रिंग्स-अटैच्ड 30-मिनट रेलिजा हब डेमो कॉल बुक करें। àऔर मैं मदद करने की पूरी कोशिश करूंगा।