ट्यूटोरियल: Microsoft Power Platform के लिए GitHub Actions का उपयोग करके समाधान परिनियोजन को स्वचालित करें

इस ट्यूटोरियल में, आप निम्न कार्य करना सीखते हैं:

  • एक नई GitHub रिपॉजिटरी बनाएँ
  • Microsoft Power Platform के लिए GitHub Actions का उपयोग करके दो GitHub वर्कफ़्लोज़ बनाएँ

कार्यप्रवाह स्वचालित रूप से आपके अनुप्रयोग को एक विकास परिवेश से निर्यात कर सकता है (एक अप्रबंधित समाधान के रूप में), एक बिल्ड आर्टिफैक्ट उत्पन्न कर सकता है (प्रबंधित समाधान) और अनुप्रयोग को आपके उत्पादन परिवेश में परिनियोजित कर सकता है. यह ट्यूटोरियल आपके द्वारा बनाए गए ALMLab समाधान और आपके द्वारा पिछले ट्यूटोरियल में सेट किए गए परिवेशों का उपयोग करता है.

संबंधित ट्यूटोरियल: शुरू करें, और मॉडल-संचालित अनुप्रयोग बनाएँ.

एक GitHub खाता बनाएं

  1. पर जाएं https://github.com और साइन अप करें या निःशुल्क परीक्षण प्रारंभ करें चुनें (या यदि आपके पास कोई मौजूदा खाता है तो साइन इन करें)।

    खाता बनाएँ

  2. अपना खाता बनाने के बाद, रिपॉजिटरी बनाएं या नया चुनें का चयन करके एक रिपॉजिटरी बनाएं।

    एक रिपॉजिटरी बनाएँ

    आप निम्न वैकल्पिक लैंडिंग स्क्रीन देख सकते हैं:

    एक नया रिपॉजिटरी बनाएँ

  3. अपना नया रिपॉजिटरी बनाएं और उसे poweractionslabनाम दें। सुनिश्चित करें कि आप रेपो शुरू करने के लिए एक README फ़ाइल जोड़ें का चयन करें और रिपॉजिटरी बनाएं चुनें।

    रेपो आरंभ करें.

सर्विस प्रिंसिपल प्रमाणीकरण के लिए नया रहस्य बनाना

  1. अपने रिपॉजिटरी में जाएं और सेटिंग्सचुनें। गुप्त विस्तृत करें, और उसके बाद क्रियाएँका चयन करें।

  2. रहस्य पृष्ठ पर, रहस्य PowerPlatformSPNका नाम बताएं। क्लाइंट गुप्त आपके द्वारा Microsoft Entra में बनाए गए अनुप्रयोग पंजीकरण से मान फ़ील्ड में दर्ज करें, और उसके बाद गुप्त जोड़ेंका चयन करें। आप YML फ़ाइलों में क्लाइंट सीक्रेट का संदर्भ देंगे जो इस ट्यूटोरियल में बाद में GitHub वर्कफ़्लो को परिभाषित करते हैं।

    सर्विस प्रिंसिपल रहस्य बनाएँ

    क्लाइंट रहस्य अब सुरक्षित रूप से GitHub रहस्य के रूप में संग्रहीत है.

समाधान फ़ाइल को नई शाखा में निर्यात और अनपैक करने के लिए कार्यप्रवाह बनाएँ

  1. क्रियाएँ का चयन करें, और फिर स्वयं कोई वर्कफ़्लो सेट करें का चयन करें. या, इस रिपॉजिटरी अनुभाग के लिए सुझाए गए के अंतर्गत सरल वर्कफ़्लो बॉक्स में कॉन्फ़िगर करें का चयन करें.

    कार्यप्रवाह सेटअप करें.

  2. आपको GitHub क्रियाओं के साथ आरंभ करने में मदद करने के लिए एक बुनियादी वर्कफ़्लो के साथ एक नई YAML फ़ाइल दिखाई देती है।

    नमूना YML फ़ाइल

  3. पहले से बनाई गई सामग्री को हटाएँ, और तब export-and-branch-solution-with-spn-auth.yml फ़ाइल से सामग्री चिपकाएँ. फ़ाइल का नाम बदलकर .export-and-branch-solution.yml

    सामग्री का नाम बदलें और प्रतिस्थापित करें.

  4. आप जिस विकास परिवेश से निर्यात करना चाहते हैं, उसके लिए URL के साथ <ENVIRONMENTURL> को अद्यतन करें (उदाहरण के लिए: https://poweractionsdev.crm.dynamics.com).

  5. <APPID> और <TENANT ID> अपने मूल्यों के साथ अपडेट करें।

    • यदि आप क्रेडेंशियल्स का उपयोग करते हैं, तो export-and-branch-solution-with-spn-auth.yml फ़ाइल सामग्री के बजाय export-and-branch-solution.yml फ़ाइल चिपकाएँ. उस उपयोगकर्ता नाम के साथ अपडेट करें <USERNAME> जिसका उपयोग आप परिवेश से कनेक्ट करने के लिए करते हैं.

      नाम बदलें और सामग्री बदलें

    टिप

    यदि आप GitHub Actions से परिचित नहीं हैं और अधिक जानना चाहते हैं, तो आधिकारिक दस्तावेज़ https://docs.github.com/en/actionsदेखें।

  6. अब आप अपने परिवर्तन करने के लिए तैयार हैं। कमिट शुरू करें का चयन करें, शीर्षक फ़ील्ड में निर्यात yml बनाएँ टाइप करें, और फिर विवरण (वैकल्पिक) जोड़ें. इसके बाद नई फ़ाइल कमिट करें का चयन करें.

    प्रतिबद्ध होना शुरू करें.

बधाई हो, आपने निम्नलिखित क्रियाओं का उपयोग करके अपना पहला GitHub वर्कफ़्लो बनाया है:

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

निर्यात का परीक्षण करें और कार्यप्रवाह को अनपैक करें

  1. आगे, परीक्षण करें कि कार्यप्रवाह चलता है. क्रियाएँ पर जाएँ, वर्कफ़्लो चलाएँ का चयन करें और वर्कफ़्लो चलाएँ चुनें. यदि आप इससे भिन्न ALMLabसमाधान नाम का उपयोग करते हैं, तो मान को यहाँ परिवर्तित करें लेकिन अन्य मानों को समान रखें.

    कार्यप्रवाह चलाएँ.

  2. 5-10 सेकंड के बाद, वर्कफ़्लो प्रारंभ होता है। आप प्रगति की निगरानी के लिए चल रहे वर्कफ़्लो का चयन कर सकते हैं।

    कार्यप्रवाह देखने के लिए क्लिक करें.

    वर्कफ़्लो का चयन करें और देखें.

  3. वर्कफ़्लो समाप्त होने के बाद, जांचें कि फ़ोल्डर में solutions/ALMLab अनपैक किए गए समाधान के साथ एक नई शाखा बनाई गई है। कोड टैब पर जाएं और शाखाओं को ड्रॉप-डाउन का विस्तार करें।

  4. उस शाखा का चयन करें जिसे क्रिया ने बनाया है।

  5. जांचें कि solutions/ALMLab फ़ोल्डर नई शाखा में बनाया गया है। फिर, परिवर्तनों को मुख्य शाखा में मर्ज करने के लिए एक पुल अनुरोध बनाएं। योगदान का चयन करें और फ्लाईआउट में ओपन पुल अनुरोध चुनें।

  6. पुल अनुरोध खोलें स्क्रीन पर, यदि आप चाहें तो एक शीर्षक और विवरण जोड़ें, फिर पुल अनुरोध बनाएं चुनें.

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

    शाखाएं देखें

  8. डिफ़ॉल्ट (मुख्य) शाखा पर वापस जाएं और जांचें कि समाधान वहां उपलब्ध है।

एक निर्माण आर्टिफैक्ट बनाने के लिए पुनःउपयोग किया जा सकने वाला कार्यप्रवाह बनाएँ और उत्पादन में आयात करें

इस अनुभाग में, एक अतिरिक्त वर्कफ़्लो बनाएँ जो:

  • एक प्रबंधित समाधान बनाता है और इसे GitHub आर्टिफैक्ट साक्ष्य के रूप में प्रकाशित करता है
  • निर्माण परिवेश में निर्माण आर्टिफैक्ट का आयात करता है
  1. क्रियाएँ पर जाएँ और नया वर्कफ़्लो चुनें.

    नया वर्कफ़्लो बनाएँ.

  2. स्वयं वर्कफ़्लो सेट करें चुनें.

    एक कार्यप्रवाह सेट करें.

  3. वर्कफ़्लो के शीर्षक का नाम बदलकर बदलें release-solution-to-prod-with-inputs. release-solution-to-prod-with-inputs.yml फ़ाइल से सामग्री की प्रतिलिपि बनाएँ और उसे संपादित करें नई फ़ाइल स्क्रीन पर चिपकाएँ.

    नाम बदलें और कोड चिपकाएँ.

  4. परिवर्तन कमिट करें. कमिट शुरू करें चुनें और फिर एक शीर्षक और विवरण जोड़ें (वैकल्पिक). इसके बाद नई फ़ाइल कमिट करें का चयन करें.

    परिवर्तन हेतु प्रतिबद्ध हों।

रिलीज इवेंट पर पुन: प्रयोज्य कार्यप्रवाह को कॉल करें

इस खंड में, आप रिलीज़ ईवेंट पर पुन: प्रयोज्य वर्कफ़्लो कॉल करें।

  1. क्रियाएँ पर जाएँ और नया वर्कफ़्लो चुनें.

    नया वर्कफ़्लो बनाएँ.

  2. कार्यप्रवाह खुद सेटअप करें चुनें.

    एक कार्यप्रवाह सेट करें.

  3. वर्कफ़्लो के शीर्षक का नाम बदलकर बदलें release-action-call. release-action-call.yml फ़ाइल से सामग्री की प्रतिलिपि बनाएँ और उसे संपादित करें नई फ़ाइल स्क्रीन में पेस्ट करें.

    नाम बदलें और कोड चिपकाएँ.

  4. नई कार्यप्रवाह फ़ाइल में निम्नलिखित चर अद्यतन करें:

    • प्रबंधित समाधान जनरेट करने के लिए आप जिस बिल्ड परिवेश का उपयोग कर रहे हैं, उसके URL के साथ अपडेट करें <BUILD_ENVIRONMENT> . उदाहरण के लिए: https://poweractionsbuild.crm.dynamics.com.
    • आप जिस उत्पादन परिवेश में परिनियोजित कर रहे हैं, उसके URL के साथ अद्यतन करें <PROD_ENVIRONMENT> . उदाहरण के लिए: https://poweractionsprod.crm.dynamics.com.
    • इस ट्यूटोरियल में आपके द्वारा पहले बनाए गए पंजीकरण का चयन करके Microsoft Azure Portal के App registrations ब्लेड में आपको मिलने वाले अनुप्रयोग (क्लाइंट) ID के साथ अद्यतन करें<APP_ID>.
    • इस ट्यूटोरियल में आपके द्वारा पहले बनाए गए पंजीकरण का चयन करके Microsoft Azure Portal के App registrations ब्लेड में आपको मिलने वाली निर्देशिका (टैनेंट) ID के साथ अद्यतन करें<TENANT_ID>.
  5. परिवर्तन कमिट करें. कमिट शुरू करें चुनें और फिर एक शीर्षक (वैकल्पिक) और विवरण जोड़ें (वैकल्पिक). इसके बाद नई फ़ाइल कमिट करें का चयन करें.

    परिवर्तन हेतु प्रतिबद्ध हों।

उत्पादन कार्यप्रवाह में रिलीज़़ का परीक्षण करें

अब आप अंतिम वर्कफ़्लो का परीक्षण करने के लिए तैयार हैं। यह वर्कफ़्लो तब ट्रिगर होता है जब कोई नई रिलीज़ उत्पादन के लिए लागू की जाती है.

  1. रिलीज़ पर जाएँ।

    रिलीज़ पर जाएँ.

  2. नई रिलीज़ ड्राफ्ट करें चुनें.

  3. रिलीज़ टैग, एक शीर्षक जोड़ें, और रिलीज़ प्रकाशित करें चुनें.

  4. चल रहे कार्यप्रवाह देखने के लिए एक्शन का चयन करें.

    वर्कफ़्लो देखने के लिए चयन करें.

  5. चल रहे कार्यप्रवाह चुनें, ताकि एक्शन को चलने के साथ ही देखा जा सके.

    कार्यप्रवाह देखें.

  6. प्रत्येक एक्शन पूरा होने तक इंतजार करें.

    शाखा देखें.

  7. वर्कफ़्लो समाप्त होने के बाद, अपने उत्पादन परिवेश में साइन इन करें और सत्यापित करें कि समाधान एक प्रबंधित समाधान के रूप में परिनियोजित है.

अद्यतन परिनियोजित करें और उत्पादन रिलीज़ से पहले बदलावों की समीक्षा करें

शुरू से अंत तक प्रक्रिया का परीक्षण करें, और फिर देखें कि आप किसी अनुप्रयोग को उत्पादन में परिनियोजित करने से पहले उसमें किए गए परिवर्तनों को कैसे देख और सत्यापित कर सकते हैं.

  1. अपने विकास परिवेश में ALMLab समाधान पर जाएँ और संपादित करें का चयन करें या समाधान प्रदर्शन नाम का चयन करें।

    समाधान संपादित करें.

  2. टाइम ऑफ अनुरोध तालिका चुनें और देखें.

    तालिका देखें.

  3. + कॉलम जोड़ें का चयन करें और नया कॉलम बनाएं जैसा कि निम्न चित्र में दिखाया गया है।

    स्तंभ जोड़ें.

    अद्यतित फ़ील्ड मान:**

    • प्रदर्शन नाम: स्वीकृत
    • डेटा प्रकार: हाँ/नहीं
  4. पूर्ण चयन करें.

  5. तालिका सहेजें का चयन करें. स्तंभ जोड़ें.

  6. अपने GitHub रिपॉजिटरी क्रियाएँ टैब पर वापस जाएँ, वर्कफ़्लो चलाएँ चुनें और वर्कफ़्लो चलाएँ बटन चुनें।

    वर्कफ़्लो चलाएँ.

  7. 5-10 सेकंड के बाद, वर्कफ़्लो प्रारंभ होता है। इसकी प्रगति की निगरानी के लिए चल रहे वर्कफ़्लो का चयन करें।

    कार्यप्रवाह का चयन करें.

    कार्यप्रवाह देखें.

  8. वर्कफ़्लो समाप्त होने के बाद, कोड और फिर शाखाओं का चयन करके नई शाखा पर जाएँ।

    शाखा पर जाएँ.

  9. उस शाखा का चयन करें जिसे आपने योगदान का विस्तार करके और ओपन पुल अनुरोध का चयन करके बनाया है।

  10. कोई शीर्षक (वैकल्पिक) जोड़ें और फिर पुल अनुरोध बनाएँ चुनें.

  11. सामग्री अद्यतन करने के बाद, परिवर्तित की गई फ़ाइलें टैब का चयन करें.

  12. ध्यान दें कि मुख्य शाखा में एक ही फ़ाइल की तुलना में समाधान के बदलावों को दर्शाने के लिए हरे रंग में हाइलाइट किया गया है.

  13. वार्तालाप टैब पर वापस जाएँ. अनुरोध खींचें का चयन करें और फिर आपके द्वारा पहले बनाए गए पुल अनुरोध का चयन करें.

  14. पुल अनुरोध पृष्ठ पर, स्क्वैश का चयन करें और अपडेट की गई समाधान फ़ाइल को अपनी मुख्य शाखा में मर्ज करने के लिए मर्ज करें। वैकल्पिक रूप से हटाएं जिसे अब मुख्य में विलय कर दिया गया है।

    नई शाखा के लिए पुल अनुरोध खोलें, परिवर्तन देखें और डिफ़ॉल्ट शाखा में विलय करें

  15. एक नई रिलीज़ बनाने के लिए उत्पादन वर्कफ़्लो के लिए रिलीज़ का परीक्षण करें अनुभाग में दिए गए चरणों का पालन करें और सत्यापित करें कि अद्यतन समाधान आपके उत्पादन परिवेश में परिनियोजित किया गया है.

बधाई हो, आपने GitHub क्रियाओं का उपयोग करके एक नमूना CI/CD वर्कफ़्लो सफलतापूर्वक सेट किया है!

इसे भी देखें

आइडिया से उत्पादन तक अपने वर्कफ़्लो को स्वचालित करें