"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > AWS इलास्टिक बीनस्टॉक पर Next.js परिनियोजन पर पूरी गाइड: डॉकर, AWS कोडपाइपलाइन और कोडबिल्ड का उपयोग करना

AWS इलास्टिक बीनस्टॉक पर Next.js परिनियोजन पर पूरी गाइड: डॉकर, AWS कोडपाइपलाइन और कोडबिल्ड का उपयोग करना

2024-11-02 को प्रकाशित
ब्राउज़ करें:117

परिचय

AWS कोड बिल्ड, कोड डिप्लॉय और GitLab के साथ AWS (अमेज़ॅन वेब सर्विसेज) इलास्टिक बीनस्टॉक, डॉकर और CI/CD पाइपलाइनों का लाभ उठाते हुए नेक्स्ट.जेएस वेब एप्लिकेशन को उत्पादन में तैनात करना सुव्यवस्थित और कुशल हो सकता है। यह मार्गदर्शिका आपको एक आधुनिक परिनियोजन पाइपलाइन स्थापित करने में मदद करेगी ताकि यह सुनिश्चित हो सके कि आपका ऐप मजबूत, स्केलेबल और बनाए रखने में आसान है।

आवश्यक शर्तें

परिनियोजन प्रक्रिया में उतरने से पहले, सुनिश्चित करें कि आपके पास:

  • एडब्ल्यूएस के भीतर इलास्टिक बीनस्टॉक वातावरण बनाने की अनुमति वाला एक एडब्ल्यूएस रूट खाता या एक आईएएम खाता

  • डॉकर आपकी स्थानीय मशीन पर स्थापित है

  • आपके Next.js ऐप के लिए रिपॉजिटरी के साथ GitLab या GitHub खाता

  • एक Next.js प्रोजेक्ट जो तैनाती के लिए तैयार है

चरण 1: AWS इलास्टिक बीनस्टॉक सेट करें

  • एक इलास्टिक बीनस्टॉक वातावरण बनाएं - एडब्ल्यूएस प्रबंधन कंसोल में लॉग इन करें, इलास्टिक बीनस्टॉक पर नेविगेट करें, और एक नया एप्लिकेशन बनाएं।

Complete Guide on Next.js Deployment on AWS Elastic Beanstalk: Using-Docker, AWS CodePipeline & CodeBuild

  • अपना एप्लिकेशन नाम दर्ज करें और क्रिएट पर क्लिक करें।

  • एप्लिकेशन बनाने के बाद, अब नया वातावरण बनाने का समय आ गया है। नया वातावरण बनाएं पर क्लिक करें.

Complete Guide on Next.js Deployment on AWS Elastic Beanstalk: Using-Docker, AWS CodePipeline & CodeBuild

  • वेब सर्वर वातावरण चुनें। पर्यावरण नाम में आपके एप्लिकेशन नाम के साथ प्रत्यय env होगा, और आप चाहें तो इसे संपादित कर सकते हैं।

Complete Guide on Next.js Deployment on AWS Elastic Beanstalk: Using-Docker, AWS CodePipeline & CodeBuild

  • डोमेन के साथ मान्य पर्यावरण नाम दर्ज करें। डोमेन नाम दर्ज करें.

Complete Guide on Next.js Deployment on AWS Elastic Beanstalk: Using-Docker, AWS CodePipeline & CodeBuild

  • उचित मंच चुनें। इस मामले में, हम प्रबंधित प्लेटफ़ॉर्म और डॉकर को प्लेटफ़ॉर्म के रूप में चुनेंगे।

Complete Guide on Next.js Deployment on AWS Elastic Beanstalk: Using-Docker, AWS CodePipeline & CodeBuild

  • एप्लिकेशन कोड में, नमूना एप्लिकेशन चुनें क्योंकि हम एडब्ल्यूएस कोड पाइपलाइन के माध्यम से अपना स्वयं का कोड तैनात करेंगे।

  • प्रीसेट में आप इसे डिफ़ॉल्ट पर छोड़ सकते हैं, हालांकि, उत्पादन अनुप्रयोगों के लिए, उच्च उपलब्धता उदाहरण का उपयोग करने की सलाह दी जाती है। एक बार जब आप प्रीसेट चुन लें तो नेक्स्ट पर क्लिक करें।

  • अपनी मौजूदा सेवा भूमिका बनाएं या उसका उपयोग करें। EC2 इंस्टेंस निर्माण के साथ आगे बढ़ने से पहले EC2 सेवा भूमिका सेटअप के साथ इलास्टिक बीनस्टॉक सेवा भूमिका का होना महत्वपूर्ण है।
    हालाँकि, यदि आप अपने टर्मिनल से EC2 इंस्टेंस में SSH करना चाहते हैं, तो एक EC2 कुंजी जोड़ी जोड़ें, और आवश्यक संचालन करने के लिए एक EC2 इंस्टेंस प्रोफ़ाइल बनाएं।

Complete Guide on Next.js Deployment on AWS Elastic Beanstalk: Using-Docker, AWS CodePipeline & CodeBuild

  • अपना वीपीसी चुनें जिसमें आप अपना ईसी2 इंस्टेंस तैनात करना चाहते हैं।

Complete Guide on Next.js Deployment on AWS Elastic Beanstalk: Using-Docker, AWS CodePipeline & CodeBuild

  • VPC का चयन करने के बाद, प्रत्येक उपलब्धता क्षेत्र में सबनेट चुनें। अपने लोड बैलेंसर और इंस्टेंस को समान सार्वजनिक सबनेट में चलाने के लिए, छवि में दिखाए अनुसार इंस्टेंस के लिए सार्वजनिक आईपी पते निर्दिष्ट करें।

Complete Guide on Next.js Deployment on AWS Elastic Beanstalk: Using-Docker, AWS CodePipeline & CodeBuild

  • चूंकि, हमें डेटाबेस को कॉन्फ़िगर करने की आवश्यकता नहीं है, हम Next पर क्लिक करके अगले चरण पर जारी रख सकते हैं।

  • रूट वॉल्यूम के लिए, हम सामान्य प्रयोजन एसएसडी चुनेंगे।

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

  • यदि उत्पादन उद्देश्यों के लिए तैनात किया जा रहा है, तो हमेशा ऑटोस्केलिंग को कॉन्फ़िगर करने और उस प्रकार के उदाहरण का चयन करने की सलाह दी जाती है जिसे इलास्टिक बीनस्टॉक ट्रैफ़िक की सेवा के लिए बनाएगा। हम t3 परिवार के साथ जायेंगे।

Complete Guide on Next.js Deployment on AWS Elastic Beanstalk: Using-Docker, AWS CodePipeline & CodeBuild

  • अगला पर क्लिक करें।

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

  • हम प्रबंधित प्लेटफ़ॉर्म अपडेट को भी अनचेक कर देंगे क्योंकि यह डेमो वेबसाइट के लिए आवश्यक नहीं है।

  • बाकी सेटिंग्स वैसे ही रखें और नेक्स्ट पर क्लिक करें।

  • अंत में, अपने परिवर्तनों की समीक्षा करें और सबमिट पर क्लिक करें।

  • इलास्टिक बीनस्टॉक आपके पर्यावरण को लॉन्च करेगा, और इसमें कुछ समय लगेगा।

Complete Guide on Next.js Deployment on AWS Elastic Beanstalk: Using-Docker, AWS CodePipeline & CodeBuild

  • सफल लॉन्च के बाद, आपको बधाई स्क्रीन दिखाई देगी।

Complete Guide on Next.js Deployment on AWS Elastic Beanstalk: Using-Docker, AWS CodePipeline & CodeBuild

चरण 2: अपना Next.js ऐप बनाएं (या किसी मौजूदा का उपयोग करें)

  • नेक्स्ट.जेएस ऐप बनाने के लिए, अपना टर्मिनल खोलें, उस निर्देशिका में सीडी डालें जिसमें आप ऐप बनाना चाहते हैं, और निम्नलिखित कमांड चलाएँ:
npx create-next-app@latest nextjs-blog --use-npm --example "https://github.com/vercel/next-learn/tree/main/basics/learn-starter" 

यदि आपके पास अपना मौजूदा कोड पहले से ही तैयार है तो आप अगले भाग पर जा सकते हैं

  • अब आपके पास नेक्स्टजेएस-ब्लॉग नामक एक नई निर्देशिका है। आइए इसमें सीडी डालें:
cd nextjs-blog 

फिर, निम्न आदेश चलाएँ:

npm run dev 

यह आपके नेक्स्ट.जेएस ऐप का "डेवलपमेंट सर्वर" (इस पर बाद में और अधिक) पोर्ट 3000 पर शुरू करता है।

आइए देखें कि यह काम कर रहा है या नहीं। अपने ब्राउज़र में http://localhost:3000 खोलें।

  • अब एप्लिकेशन के भीतर एक डॉकरफाइल बनाने का समय आ गया है।

  • अपने एप्लिकेशन के रूट में Dockerfile नामक एक फ़ाइल बनाएं और निम्नलिखित कोड जोड़ें:

FROM node:18-alpine 

RUN mkdir -p /app 

WORKDIR /app 

COPY . . 

RUN npm install 

RUN npm run build 

EXPOSE 3000 

CMD ["npm", "start"] 

  • परिवर्तन करने के बाद, यह जांचना महत्वपूर्ण है कि निर्माण सफल है या नहीं। डॉकर इंजन प्रारंभ करें और निम्न आदेश चलाएँ:
docker build -t testapp . 

Complete Guide on Next.js Deployment on AWS Elastic Beanstalk: Using-Docker, AWS CodePipeline & CodeBuild

एक बार निर्माण सफल हो जाए, तो नीचे दिए गए आदेश के साथ एप्लिकेशन चलाएं:

docker run -p 3000:3000 testapp 

  • अपने एप्लिकेशन के रूट में buildspec.yml नामक एक फ़ाइल बनाएं और निम्नलिखित कोड जोड़ें। इस फ़ाइल का उपयोग बाद के चरण में AWS के भीतर कोड पाइपलाइन स्थापित करते समय किया जाएगा।
version: 0.2 

artifacts: 

  type: zip 

  files: 

    - '**/*' 

  • इन फ़ाइलों को अपने नए या मौजूदा कोड में जोड़ने के बाद, इन परिवर्तनों को Gitlab या GitHub पर रिमोट रिपॉजिटरी में पुश करें।

चरण 3: सेटअप कोड पाइपलाइन

  • एडब्ल्यूएस प्रबंधन कंसोल में लॉग इन करें, कोड पाइपलाइन पर जाएं, और पाइपलाइन बनाएं पर क्लिक करें।

  • एक वैध पाइपलाइन नाम दर्ज करें और पाइपलाइन के लिए निष्पादन मोड चुनें। हमारे मामले में, हम कतारबद्ध (पाइपलाइन प्रकार V2 आवश्यक) का चयन करेंगे।

  • यदि नई सेवा भूमिका पहले से मौजूद नहीं है तो उसे बनाएं या मौजूदा सेवा भूमिका में से चयन करें और अगला क्लिक करें।

Complete Guide on Next.js Deployment on AWS Elastic Beanstalk: Using-Docker, AWS CodePipeline & CodeBuild

  • स्रोत प्रदाता से चुनें कि आपकी कलाकृतियाँ कहाँ संग्रहीत हैं। हम "Gitlab" का चयन करेंगे।

  • कनेक्शन सूची से, मौजूदा कनेक्शन चुनें या एक नया कनेक्शन बनाएं।

Complete Guide on Next.js Deployment on AWS Elastic Beanstalk: Using-Docker, AWS CodePipeline & CodeBuild

  • एक बार कनेक्शन सफल हो जाए, तो रिपोजिटरी नाम और उस शाखा का चयन करें जहां से कोड का उपयोग किया जाएगा।

  • ट्रिगर प्रकार के लिए, हम नो फिल्टर चुनेंगे और नेक्स्ट पर क्लिक करेंगे।

Complete Guide on Next.js Deployment on AWS Elastic Beanstalk: Using-Docker, AWS CodePipeline & CodeBuild

  • इसके बाद, हम बिल्ड प्रोवाइडर का चयन करते हैं। हमारे मामले में, हम AWS कोड बिल्ड का चयन करेंगे। क्षेत्र का चयन करें या इसे डिफ़ॉल्ट AWS क्षेत्र पर छोड़ दें।

Complete Guide on Next.js Deployment on AWS Elastic Beanstalk: Using-Docker, AWS CodePipeline & CodeBuild

  • फिर क्रिएट प्रोजेक्ट पर क्लिक करके कोड बिल्ड में एक नया प्रोजेक्ट बनाएं। यह एक नया विंडो खोलेगा। प्रोजेक्ट का नाम दर्ज करें और पर्यावरण के अंदर सब कुछ डिफ़ॉल्ट के रूप में छोड़ दें।

Complete Guide on Next.js Deployment on AWS Elastic Beanstalk: Using-Docker, AWS CodePipeline & CodeBuild

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

Complete Guide on Next.js Deployment on AWS Elastic Beanstalk: Using-Docker, AWS CodePipeline & CodeBuild

  • जब आप कंटिन्यू टू कोड पाइपलाइन पर क्लिक करेंगे तो विंडो अपने आप बंद हो जाएगी और आपको कोड पाइपलाइन स्क्रीन पर वापस ले जाएगी।

  • बिल्ड प्रकार को सिंगल बिल्ड के रूप में निर्दिष्ट करें और नेक्स्ट पर क्लिक करें।

Complete Guide on Next.js Deployment on AWS Elastic Beanstalk: Using-Docker, AWS CodePipeline & CodeBuild

  • परिनियोजन जोड़ें चरण में, परिनियोजन प्रदाता का चयन करें। इस मामले में, यह AWS इलास्टिक बीनस्टॉक होगा जहां हम चाहते हैं कि एप्लिकेशन को अंततः तैनात किया जाए।

Complete Guide on Next.js Deployment on AWS Elastic Beanstalk: Using-Docker, AWS CodePipeline & CodeBuild

  • एप्लिकेशन का नाम, पर्यावरण का नाम चुनें, रोलबैक सेटिंग्स कॉन्फ़िगर करें और नेक्स्ट पर क्लिक करें। अपनी कोड पाइपलाइन सेटिंग्स की समीक्षा करें और क्रिएट पाइपलाइन पर क्लिक करें।

चरण 4: वेबसाइट लाइव है!

नेक्स्ट.जेएस वेब एप्लिकेशन को उत्पादन में तैनात करना वास्तव में आसान है और इसे एडब्ल्यूएस कोड बिल्ड, कोड डिप्लॉय और गिटलैब का उपयोग करके एडब्ल्यूएस इलास्टिक बीनस्टॉक, डॉकर और सीआई/सीडी पाइपलाइनों के साथ अधिक कुशलता से किया जा सकता है।

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

हैप्पी कोडिंग!!

विज्ञप्ति वक्तव्य यह आलेख यहां पुन: प्रस्तुत किया गया है: https://dev.to/thecodexakash/complete-guide-on-nextjs-deployment-on-aws-elastic-beanstalk-using-docker-aws-codepipeline-codebuild-8g9?1यदि कोई है उल्लंघन, हटाने के लिए कृपया [email protected] से संपर्क करें
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3