AWS CodeCommit के साथ कोड परिनियोजन स्वचालन

एडब्ल्यूएस कोडकॉमिट और कोडडिप्लॉय के साथ स्वचालित कोड परिनियोजन

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

FTP का उपयोग करते समय, आपने अपने सहयोगी डेवलपर के कोड को अधिलेखित कर दिया होगा। चिंता न करें। यह हम में से अधिकांश के साथ होता है। यह मार्गदर्शिका आपको AWS CodeCommit, CodeDeploy और पाइपलाइन सेवाओं के साथ कोड परिनियोजन स्वचालन दिखाएगा।

प्रौद्योगिकी सिंहावलोकन:

  1. AWS CodeCommit: हम अपने रिपॉजिटरी (वेब ​​कंटेंट/कोड फाइल्स) को बनाए रखने के लिए CodeCommit का उपयोग करेंगे। यह सभी प्रोजेक्ट फाइलों को होल्ड करेगा और लॉग्स को कमिट करेगा।
  2. EC2 सर्वर: हम अपने उत्पादन सर्वर के रूप में EC2 का उपयोग करेंगे। इसमें आपके वेबसाइट विज़िटर के लिए लाइव साइट और कोड होगा।
  3. AWS CodeDeploy: यह आपके कोड को EC2 सर्वर पर प्रकाशित करने के लिए एप्लिकेशन को होल्ड करेगा। हम एक डिप्लॉयमेंट ग्रुप भी बनाएंगे जिसमें लक्षित EC2 इंस्टेंस का नाम/टैग होगा जहां हम अपना कोड प्रकाशित करना चाहते हैं।
  4. पाइपलाइन: हम अपने स्रोत के रूप में CodeCommit का चयन करेंगे और हमारे परिनियोजन चरण के रूप में CodeDeploy का चयन करेंगे। जब भी CodeCommit में कोई कोड परिवर्तन पाया जाता है, तो पाइपलाइन चल जाएगी और उन कोड परिवर्तनों को CodeDeploy (EC2 इंस्टेंस) में धकेल देगी।

ठीक है। आइए कोड परिनियोजन स्वचालन पर चरणों को विस्तार से देखें:

कोड परिनियोजन स्वचालन के लिए IAM और Git उपयोगकर्ता बनाना

हमें सबसे पहले एक IAM उपयोगकर्ता और Git उपयोगकर्ता बनाने की आवश्यकता होगी जो कोड में परिवर्तन करेगा और उन्हें परिनियोजन सर्वर पर प्रकाशित करेगा।

  1. एक आईएएम उपयोगकर्ता बनाएं
    1. एक्सेस की अनुमति दें: AWSCodeCommitFullAccess, AWSCodeDeployFullAccess, AWSCodeCommitPowerUser। आपको यह विकल्प “मौजूदा नीतियों को सीधे संलग्न करें” टैब में मिलेगा।
  2. अब, इस IAM उपयोगकर्ता के साथ लॉग इन करें।
  3. ऊपरी दाएं कोने से सुरक्षा क्रेडेंशियल्स पर क्लिक करें।
  4. पर क्लिक करें एडब्ल्यूएस कोड कमिट क्रेडेंशियल टैब।
  5. “एडब्ल्यूएस कोडकॉमिट के लिए एचटीटीपीएस गिट क्रेडेंशियल” अनुभाग के तहत, जनरेट क्रेडेंशियल बटन पर क्लिक करें।
  6. अब, उस उपयोगकर्ता नाम और पासवर्ड को एक सुरक्षित स्थान पर कॉपी करें। कोड परिवर्तनों को पुश/पुल करने के लिए यह आपके Git का मुख्य उपयोगकर्ता नाम और पासवर्ड होगा।

CodeCommit में एक रिपोजिटरी बनाना

अब, एक रिपोजिटरी बनाते हैं जो आपका सटीक कोड रखेगा।

  1. के लिए जाओ कोड कमिट डैशबोर्ड आईएएम उपयोगकर्ता से।
  2. ऊपरी दाएं कोने में, उस क्षेत्र का चयन करें जहां आप अपना भंडार बनाना चाहते हैं।
  3. क्रिएट रिपोजिटरी पर क्लिक करें, इसे एक नाम दें, विवरण दें और क्रिएट पर क्लिक करें।
  4. नीचे “रिपॉजिटरी को क्लोन करें“अनुभाग, आपको अपने भंडार का एक URL दिखाई देगा। इसे किसी सुरक्षित स्थान पर सहेजें। यह ऐसा दिखेगा: https://git-codecommit.ap-south-1.amazonaws.com/v1/repos/HarryTest

कोडकॉमिट में एक रिपोजिटरी बनाना

पहली बार अपनी प्रोजेक्ट फ़ाइल अपलोड कर रहा है

  1. अपने स्थानीय सिस्टम का कमांड प्रॉम्प्ट खोलें जहां आपका मूल कोड रहता है।
  2. कमांड प्रॉम्प्ट में, उस पथ पर नेविगेट करें जहां आपका कोड रहता है।
  3. अब, अपने कोड को पहली बार AWS रिपॉजिटरी में धकेलने के लिए निम्नलिखित कमांड चलाएँ:
  1. git init
  2. git config –local init.defaultBranch main
  3. git config –global init.defaultशाखा मुख्य
  4. git add । ## यह प्रोजेक्ट की सभी फाइलों को कमिट करेगा
  5. गिट प्रतिबद्ध-एम “प्रारंभिक प्रतिबद्ध”
  6. गिट पुश https://git-codecommit.ap-south-1.amazonaws.com/v1/repos/HarryTest –सब

पहली बार अपनी प्रोजेक्ट फ़ाइल अपलोड करना

EC2 इंस्टेंस बनाएं और कोड डिप्लॉय एजेंट स्थापित करें

  1. एक इंस्टेंस भूमिका बनाएं
    1. अपना एडब्ल्यूएस आईएएम कंसोल खोलें।
    2. भूमिकाएँ टैब पर जाएँ >> भूमिका बनाएँ।
    3. विश्वसनीय निकाय का चयन प्रकार के अंतर्गत, चुनें एडब्ल्यूएस सेवाउपयोग केस चुनें के अंतर्गत, ईसी 2 चुनेंअपने उपयोग के मामले का चयन करें के तहत, EC2 चुनें। अगला चुनें: अनुमतियां.
    4. नाम की नीति खोजें और चुनें AmazonEC2RoleforAWSCodeDeployऔर फिर अगला चुनें: टैग.
    5. अगला चुनें: समीक्षा करें। भूमिका के लिए एक नाम दर्ज करें (उदाहरण के लिए, EC2Instanceभूमिका) और क्रिएट पर क्लिक करें।
  2. एक EC2 उदाहरण बनाएँ
    1. EC2 कंसोल पर जाएं। लॉन्च इंस्टेंस पर क्लिक करें।
    2. चरण 1: एक अमेज़ॅन मशीन छवि (एएमआई) चुनें, खोजें अमेज़ॅन लिनक्स 2 एएमआई (एचवीएम), एसएसडी वॉल्यूम प्रकारऔर फिर चुनें चुनें। (इस एएमआई को “फ्री टियर योग्य” लेबल किया गया है और सूची के शीर्ष पर पाया जा सकता है।)
    3. पर चरण 2: एक इंस्टेंस प्रकार चुनें पृष्ठ पर, अपने उदाहरण के लिए हार्डवेयर कॉन्फ़िगरेशन के रूप में फ़्री टियर योग्य t2.micro प्रकार चुनें, और फिर चुनें अगला: इंस्टेंस विवरण कॉन्फ़िगर करें.
    4. चरण 3 पर: इंस्टेंस विवरण पृष्ठ कॉन्फ़िगर करें, निम्न कार्य करें:
      1. मामलों की संख्या में, 1 दर्ज करें.
      2. सार्वजनिक आईपी को ऑटो-असाइन करें में, सक्षम करें चुनें.
      3. IAM भूमिका में, पिछली प्रक्रिया में आपके द्वारा बनाई गई IAM भूमिका चुनें (उदाहरण के लिए, EC2Instanceभूमिका)
      4. विस्तार करना उन्नत विवरणऔर उपयोगकर्ता डेटा फ़ील्ड में, निम्नलिखित दर्ज करें:

#!/बिन/बैश
यम-वाई अपडेट
यम इंस्टाल -वाई रूबी
यम इंस्टाल -y aws-cli
सीडी /होम/ईसी2-उपयोगकर्ता
wget https://aws-codedeploy-us-east-2.s3.us-east-2.amazonaws.com/latest/install
चामोद +x ./इंस्टॉल
./ऑटो इंस्टॉल करें

  1. चरण 3 पर शेष वस्तुओं को छोड़ दें: इंस्टेंस विवरण पृष्ठ को अपरिवर्तित कॉन्फ़िगर करें। अगला चुनें: संग्रहण जोड़ें।
  1. चरण 4 को छोड़ दें: संग्रहण पृष्ठ को अपरिवर्तित जोड़ें, और फिर अगला चुनें: टैग जोड़ें।
  2. चुनना टैग जोड़ोकुंजी में, दर्ज करें नामऔर मान में, दर्ज करें MyCodePipelineDemoअगला चुनें: सुरक्षा समूह कॉन्फ़िगर करें। बाद में, आप एक कोडडिप्लॉय एप्लिकेशन बनाते हैं जो इस उदाहरण के लिए नमूना एप्लिकेशन को परिनियोजित करता है। कोडडिप्लॉय इंस्टेंस से जुड़े टैग के आधार पर इंस्टेंस का चयन करता है।
  3. चरण 6 पर: सुरक्षा समूह पृष्ठ कॉन्फ़िगर करें, निम्न कार्य करें:
    1. के पास एक सुरक्षा समूह असाइन करेंचुनें एक नया सुरक्षा समूह बनाएं.
    2. के लिए पंक्ति में एसएसएचअंतर्गत स्रोतचुनें मेरा आईपी.
    3. चुनना नियम जोड़ेंचुनें एचटीटीपीऔर फिर नीचे स्रोतचुनें मेरा आईपी.
  4. समीक्षा और लॉन्च चुनें।
  5. पर इंस्टेंस लॉन्च पेज की समीक्षा करेंलॉन्च चुनें। जब एक कुंजी जोड़ी के लिए कहा जाए, तो चुनें एक प्रमुख जोड़ी के बिना आगे बढ़ें.
  6. चुनना उदाहरण देखें पुष्टिकरण पृष्ठ को बंद करने और कंसोल पर लौटने के लिए।
  7. आप लॉन्च की स्थिति को पर देख सकते हैं उदाहरण पृष्ठ। जब आप एक इंस्टेंस लॉन्च करते हैं, तो इसकी प्रारंभिक स्थिति लंबित होती है। इंस्टेंस शुरू होने के बाद, इसकी स्थिति चलने में बदल जाती है, और इसे एक सार्वजनिक DNS नाम प्राप्त होता है। (यदि सार्वजनिक डीएनएस कॉलम प्रदर्शित नहीं होता है, चुनें आइकॉन दिखाएँ/छुपाएँऔर फिर चुनें सार्वजनिक डीएनएस।)
  8. इंस्टेंस को इससे कनेक्ट करने के लिए आपको तैयार होने में कुछ मिनट लग सकते हैं। में जानकारी देखें स्थिति जांच कॉलम यह देखने के लिए कि क्या आपके इंस्टेंस ने अपनी स्थिति जांच पास कर ली है।

एक EC2 उदाहरण बनाएँ

CodeDeploy में एक एप्लिकेशन बनाएं

  1. CodeDeploy सेवा भूमिका बनाएँ
    1. IAM कंसोल को https://console.aws.amazon.com/iam/ पर खोलें
    2. कंसोल डैशबोर्ड से, चुनें भूमिकाएँ.
    3. चुनना भूमिका बनाएं.
    4. विश्वसनीय निकाय का चयन प्रकार के अंतर्गत, चुनें एडब्ल्यूएस सेवा। अंतर्गत उपयोग का मामला चुनेंचुनते हैं कोड डिप्लॉयअपने उपयोग के मामले का चयन करें के तहत, कोडडिप्लॉय चुनें। अगला चुनें: अनुमतियां AWSCodeDeployRole प्रबंधित नीति पहले से ही भूमिका से जुड़ी हुई है।
    5. अगला चुनें: टैग, और अगला: समीक्षा करें।
    6. भूमिका के लिए एक नाम दर्ज करें (उदाहरण के लिए, CodeDeployRole), और फिर भूमिका बनाएँ चुनें।
  2. CodeDeploy में एक एप्लिकेशन बनाएं
    1. https://console.aws.amazon.com/codedeploy पर CodeDeploy कंसोल खोलें
    2. अगर अनुप्रयोग पृष्ठ प्रकट नहीं होता है, मेनू पर, चुनें अनुप्रयोग.
    3. चुनना एप्लिकेशन बनाएं.
    4. आवेदन के नाम में, दर्ज करें MyDemoApplication.
    5. कंप्यूट प्लेटफॉर्म में, चुनें ईसी2/ऑन-प्रिमाइसेस.
    6. एप्लिकेशन बनाएं चुनें।

    कोडडिप्लॉय में एक एप्लिकेशन बनाएं

  3. CodeDeploy में एक परिनियोजन समूह बनाएँ
    1. आपके आवेदन को प्रदर्शित करने वाले पृष्ठ पर, चुनें परिनियोजन समूह बनाएं.
    2. परिनियोजन समूह के नाम में, दर्ज करें MyDemoDeploymentGroup.
    3. सेवा भूमिका में, वह सेवा भूमिका चुनें जिसे आपने पहले बनाया था (उदाहरण के लिए, CodeDeployभूमिका)
    4. परिनियोजन प्रकार के अंतर्गत, चुनें जगह में.
    5. अंतर्गत पर्यावरण विन्यासचुनें अमेज़ॅन ईसी 2 उदाहरण। कुंजी फ़ील्ड में, दर्ज करें नाममान फ़ील्ड में, वह नाम दर्ज करें जिसका उपयोग आपने इंस्टेंस को टैग करने के लिए किया था (उदाहरण के लिए, MyCodePipelineDemo)
    6. परिनियोजन कॉन्फ़िगरेशन के अंतर्गत, चुनें CodeDeployDefault.OneAtaTime.
    7. लोड बैलेंसर के तहत, सुनिश्चित करें सक्षम करें लोड संतुलन चयनित नहीं हैइस उदाहरण के लिए आपको लोड बैलेंसर सेट करने या लक्ष्य समूह चुनने की आवश्यकता नहीं है।
    8. उन्नत अनुभाग का विस्तार करें अलार्म के तहत, यदि कोई अलार्म सूचीबद्ध है, तो अलार्म कॉन्फ़िगरेशन को अनदेखा करें चुनें।
    9. परिनियोजन समूह बनाएँ चुनें।

CodeDeploy में एक परिनियोजन समूह बनाएँ

एक पाइपलाइन बनाएं

  1. एडब्ल्यूएस प्रबंधन कंसोल में साइन इन करें और http://console.aws.amazon.com/codesuite/codepipeline/home पर कोडपाइपलाइन कंसोल खोलें।
  2. कोडपाइपलाइन कंसोल को https://console.aws.amazon.com/codepipeline/ पर खोलें।
  3. चुनना पाइपलाइन बनाएं.
  4. चरण 1 में: पाइपलाइन सेटिंग्स चुनें, पाइपलाइन नाम में, दर्ज करें MyFirstPipeline.
  5. सेवा भूमिका में, नई सेवा भूमिका चुनें CodePipeline को सेवा भूमिका बनाने की अनुमति दें आईएएम में।
  6. उन्नत सेटिंग्स के अंतर्गत सेटिंग्स को उनके डिफ़ॉल्ट पर छोड़ दें, और फिर अगला चुनें।
  7. चरण 2 में: स्रोत चरण जोड़ें, स्रोत प्रदाता में, कोड कमिट चुनें. रिपोजिटरी नाम में, चरण 1 में आपके द्वारा बनाए गए कोडकॉमिट रिपॉजिटरी का नाम चुनें: एक कोडकॉमिट रिपॉजिटरी बनाएं। शाखा के नाम में, मुख्य चुनें, और फिर अगला चरण चुनें।
  8. आपके द्वारा रिपॉजिटरी नाम और शाखा का चयन करने के बाद, एक संदेश इस पाइपलाइन के लिए बनाए जाने वाले Amazon CloudWatch Events नियम को प्रदर्शित करता है।
  9. खोज विकल्प बदलें के तहत, डिफ़ॉल्ट छोड़ दें। यह कोडपाइपलाइन को आपके स्रोत भंडार में परिवर्तनों का पता लगाने के लिए अमेज़ॅन क्लाउडवॉच इवेंट्स का उपयोग करने की अनुमति देता है।
  10. अगला चुनें।
  11. चरण 3 में: बिल्ड चरण जोड़ें, चुनें बिल्ड स्टेज छोड़ेंऔर फिर फिर से छोड़ें चुनकर चेतावनी संदेश स्वीकार करें। अगला चुनें।
  12. नोट: इस ट्यूटोरियल में, आप कोड को परिनियोजित कर रहे हैं जिसके लिए किसी बिल्ड सेवा की आवश्यकता नहीं है, इसलिए आप इस चरण को छोड़ सकते हैं। हालाँकि, यदि आपके स्रोत कोड को इंस्टेंस पर लागू करने से पहले बनाने की आवश्यकता है, तो आप इस चरण में कोडबिल्ड को कॉन्फ़िगर कर सकते हैं।
  13. चरण 4 में, परिनियोजन चरण जोड़ें, परिनियोजन प्रदाता में, कोडडिप्लॉय चुनें। एप्लिकेशन नाम में, चुनें MyDemoApplicationपरिनियोजन समूह में, MyDemoDeploymentGroup चुनें, और फिर अगला चरण चुनें।
  14. चरण 5 में: समीक्षा करें, जानकारी की समीक्षा करें और फिर पाइपलाइन बनाएं चुनें।
  15. इसके बनने के बाद पाइपलाइन चलना शुरू हो जाती है। यह आपके कोडकॉमिट रिपॉजिटरी से कोड डाउनलोड करता है और आपके ईसी 2 इंस्टेंस में कोड डिप्लॉय परिनियोजन बनाता है। आप प्रगति और सफलता और विफलता संदेशों को देख सकते हैं क्योंकि कोडपिपलाइन नमूना वेबपेज को अमेज़ॅन ईसी 2 इंस्टेंस में तैनात करता है। कोड डिप्लॉय परिनियोजन।

पाइपलाइन बनाएं

अब आप पूरी तरह से तैयार हैं। परिनियोजन परिनियोजन पर जाएं। आप सभी परिनियोजन के लॉग देखेंगे जो सफल और विफल हैं।

साइट पर परिवर्तनों को सत्यापित करने के लिए, अपना EC2 इंस्टेंस खोलें, अपने सार्वजनिक DNS की खोज करें। यह इस तरह दिखेगा: http://ec2-3-108-40-48.ap-south-1.compute.amazonaws.comएक बार जब आप इसे ब्राउज़ कर लेंगे, तो आप अपने लाइव पेज देखेंगे।

एक विकल्प समूह बनाएं

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

(आज 1 बार विज़िट किया गया, 1 बार विज़िट किया गया)

Leave a Comment