ALM एक्सेलेरेटर पाइपलाइन कॉन्फ़िगर करें
पाइपलाइनें ALM एक्सेलेरेटर के इंजन हैं। वे ALM प्रक्रिया को स्वचालित करते हैं। Power Platform वे Azure Pipelines, की एक सेवा का उपयोग करके बनाए गए हैं, और एक परियोजना में संग्रहीत हैं। Azure DevOps Azure DevOps
ALM प्रक्रिया को स्वचालित करने के लिए चार मुख्य पाइपलाइनों का उपयोग किया जाता है:
- आयात करें
- Export
- हटाएं
- निर्माण/तैनात
पाइपलाइनों को ALM एक्सेलेरेटर कैनवास ऐप के साथ उपयोग के लिए डिज़ाइन किया गया है। आपको ऐप का उपयोग करने की आवश्यकता नहीं है, लेकिन हम इसकी अनुशंसा करते हैं। यह ऐप पाइपलाइनों को लागू करने के लिए एक सरल इंटरफ़ेस और अंतर्निहित मापदंडों को समझे बिना उन्हें कॉन्फ़िगर करने का एक तरीका प्रदान करता है।
सामान्य ALM एक्सेलेरेटर पाइपलाइन परिदृश्य
ALM एक्सेलेरेटर पाइपलाइनों और ऐप में डिफ़ॉल्ट कॉन्फ़िगरेशन हैं जो आपको ALM के साथ जल्दी से आरंभ करने की अनुमति देते हैं। Power Platform पाइपलाइनें आपके संगठन की आवश्यकताओं को पूरा करने के लिए कई अलग-अलग ALM परिदृश्यों को कवर कर सकती हैं। निम्नलिखित अनुभाग कुछ सामान्य परिदृश्यों का वर्णन करते हैं और बताते हैं कि उन्हें पाइपलाइन कॉन्फ़िगरेशन, परिनियोजन प्रोफ़ाइल और ALM एक्सेलेरेटर ऐप में चरणों या सीधे पाइपलाइन के माध्यम से कैसे कवर किया जा सकता है.
एक प्रोजेक्ट में पाइपलाइन और दूसरे प्रोजेक्ट में स्रोत कोड स्थापित करें
ALM एक्सेलेरेटर ऐप और परिनियोजन प्रोफ़ाइल में, आप एक पाइपलाइन प्रोजेक्ट और एक स्रोत प्रोजेक्ट निर्दिष्ट कर सकते हैं. सेटअप विज़ार्ड में एक विकल्प आपको एक अलग पाइपलाइन प्रोजेक्ट और रेपो निर्दिष्ट करने की अनुमति देता है। ये विकल्प तब उपयोगी होते हैं जब आप उपयोगकर्ताओं, कॉर्पोरेट संरचना या अन्य कारकों के आधार पर समाधानों का भंडारण करना चाहते हैं। अधिकांश मामलों में, पाइपलाइन YAML फ़ाइलें पाइपलाइन परियोजना में संग्रहीत की जाती हैं और निर्यात, आयात और हटाने की पाइपलाइनें उस परियोजना में बनाई जाती हैं जहां समाधान स्रोत-नियंत्रित होता है।
ALM एक्सेलरेटर के बिना पाइपलाइन चलाएं
ALM एक्सेलेरेटर कैनवास ऐप पाइपलाइनों को चलाने के लिए एक आसान बटन लेयर प्रदान करता है। हालाँकि, इन्हें चलाने के लिए आपको ऐप की आवश्यकता नहीं है। यदि आप ऐप से स्वतंत्र पाइपलाइनों का उपयोग करना चाहते हैं, तो उन्हें सीधे कमांड लाइन से चलाएं। आप अपना स्वयं का ऐप भी बना सकते हैं। ALM एक्सेलेरेटर समाधान में शामिल API के लिए कस्टम कनेक्टर का उपयोग करें, ताकि Azure DevOps या अन्य तकनीकों का उपयोग करके पाइपलाइनों को लागू किया जा सके. Power Automate Power Platform
किसी भी स्थिति में, यदि आप पाइपलाइनों का स्वतंत्र रूप से उपयोग करना चाहते हैं, तो महत्वपूर्ण बात यह है कि उनमें पारित किये जाने वाले पैरामीटरों को समझना होगा।
पाइपलाइन पैरामीटर
import-unmanaged-to-dev-environment के लिए पैरामीटर: स्रोत नियंत्रण से विकास परिवेश में अप्रबंधित समाधान आयात करने के लिए आयात समाधान पाइपलाइन का उपयोग करें.
निम्न तालिका आयात पाइपलाइन के मापदंडों का वर्णन करती है।
मापदंड | उदाहरण | विवरण |
---|---|---|
Project | मेरा Azure DevOps प्रोजेक्ट | समाधान को आयात करने के लिए प्रोजेक्ट का नाम |
रेपो | मेरा Azure DevOps रिपो | रेपो का नाम जिससे समाधान आयात करना है |
SolutionName | MySolutionName | आयात किए जाने वाले समाधान का नाम |
ईमेल करें | me@example.com | समाधान आयात करने वाले उपयोगकर्ता का ईमेल पता |
UserName | पिछला, पहला | समाधान आयात करने वाले उपयोगकर्ता का उपयोगकर्ता नाम |
ब्रांच | मुख्य | समाधान बनाने और आयात करने के लिए शाखा |
ServiceConnectionName | MyServiceConnection | आयात के लिए उपयोग किए जाने वाले सेवा कनेक्शन का नाम |
ServiceConnectionUrl | example.crm.dynamics.com | आयात के लिए निर्माता परिवेश का URL |
EnvironmentName | MyDevEnvironment | अनुभाग में परिनियोजन सेटिंग्स ढूँढने के लिए उपयोग किया जाता है; समाधान स्रोत में कॉन्फ़िगरेशन निर्देशिका के अंतर्गत एक फ़ोल्डर नाम लौटाता है |
delete-unmanaged-solution-and-components के लिए पैरामीटर: विकास परिवेश से किसी अप्रबंधित समाधान और उसके सभी घटकों को हटाने के लिए delete solution पाइपलाइन का उपयोग करें.
निम्न तालिका डिलीट पाइपलाइन के पैरामीटर्स का वर्णन करती है।
मापदंड | उदाहरण | विवरण |
---|---|---|
SolutionName | MySolutionName | हटाए जाने वाले समाधान का नाम |
ServiceConnectionName | MyServiceConnection | हटाए जाने वाले समाधान के लिए उपयोग किए जाने वाले सेवा कनेक्शन का नाम |
ServiceConnectionUrl | example.crm.dynamics.com | हटाए जाने वाले समाधान के लिए निर्माता परिवेश का URL |
export-solution-to-git के लिए पैरामीटर: समाधान को Git रिपोजिटरी में निर्यात करने के लिए निर्यात समाधान पाइपलाइन का उपयोग करें.
निम्न तालिका निर्यात पाइपलाइन के मापदंडों का वर्णन करती है।
मापदंड | उदाहरण | विवरण |
---|---|---|
Project | मेरा Azure DevOps प्रोजेक्ट | समाधान स्रोत कोड को निर्यात करने के लिए प्रोजेक्ट का नाम |
रेपो | मेरा Azure DevOps रिपो | समाधान स्रोत कोड को निर्यात करने के लिए रेपो का नाम |
SolutionName | MySolutionName | निर्यात किए जाने वाले समाधान का नाम |
ईमेल करें | me@example.com | समाधान निर्यात करने वाले उपयोगकर्ता का ईमेल पता |
UserName | पिछला, पहला | समाधान निर्यात करने वाले उपयोगकर्ता का उपयोगकर्ता नाम |
CommitMessage | #1234 बग ठीक करता है | रिपॉजिटरी में कमिट पर स्टोर किए जाने वाले परिवर्तनों का विवरण |
ब्रांच | मुख्य | या तो वह स्रोत शाखा जिससे शाखा बनाई जाए या वह मौजूदा शाखा जिससे प्रतिबद्धता की जाए |
BranchToCreate | सुविधा- 1234 | यदि आवश्यक हो तो Branch पैरामीटर के आधार पर बनाई जाने वाली नई शाखा का अद्वितीय नाम |
ServiceConnectionName | MyServiceConnection | समाधान निर्यात के लिए उपयोग किए जाने वाले सेवा कनेक्शन का नाम |
ServiceConnectionUrl | example.crm.dynamics.com | निर्माता परिवेश का URL जहाँ निर्यात किया जाने वाला अप्रबंधित समाधान मौजूद है |
डेटा | [परिनियोजन सेटिंग्स JSON] | एक JSON स्ट्रिंग जिसमें परिनियोजन सेटिंग्स शामिल हैं जिनका उपयोग निर्यात और परिनियोजन पाइपलाइनों को कॉन्फ़िगर करने के लिए किया जाता है |
PortalSiteName | MyPortalSite | निर्यात किए जाने वाले समाधान से संबद्ध Power Pages वेबसाइट का नाम |
जब आप ALM एक्सेलेरेटर पाइपलाइनों का उपयोग करके समाधानों को निर्यात या परिनियोजित करते हैं, तो उनके संस्करण को अनुकूलित करें
डिफ़ॉल्ट रूप से, निर्यातित और परिनियोजित समाधानों को डिप्लॉयमेंट पाइपलाइन YAML फ़ाइल में निर्दिष्ट नाम का उपयोग करके संस्करणित किया जाता है. हालाँकि, ALM एक्सेलेरेटर पाइपलाइन आपको समाधान को निर्यात या परिनियोजित करते समय उसके संस्करण को अनुकूलित करने की अनुमति देती है. निम्नलिखित अनुभाग उन विधियों का वर्णन करते हैं जिनका आप उपयोग कर सकते हैं।
निर्यातित संस्करण
पाइपलाइनों द्वारा निर्यातित संस्करण संख्या का उपयोग सभी परिनियोजित वातावरणों में संस्करण संख्या के रूप में करें। अपनी निर्यात पाइपलाइन में UseSolutionVersionFromDataverse नामक एक चर बनाएँ या ALM एक्सेलेरेटर के लिए चर लाइब्रेरी में एक वैश्विक चर बनाएँ. इसे True का मान दें. यह चर यह सुनिश्चित करता है कि आपके समाधान में निर्यात की गई संस्करण संख्या डाउनस्ट्रीम परिवेशों में संरक्षित रहे और समाधान स्रोत के प्रतिबद्ध होने पर आपके स्रोत नियंत्रण में प्रतिबिंबित हो।
कस्टम संस्करण तर्क
समाधान का संस्करण सेट करने के लिए ALM एक्सेलेरेटर हुक का उपयोग करें. build-solution-pack-pre-hook.yml
टेम्पलेट में अपना कस्टम तर्क जोड़ें ताकि Solution.xml
सीधे या pac समाधान संस्करण जैसे अन्य उपकरणों का उपयोग करके हेरफेर किया जा सके।
कस्टम लाओ-अपने-टेम्प्लेट संस्करण
परिनियोजन पाइपलाइनों को तैयार करने के लिए अपने स्वयं के टेम्पलेट्स लाने की क्षमता, समाधान के प्रारंभिक निर्यात के दौरान संस्करण निर्धारण के लिए लचीलापन प्रदान करती है। उदाहरण के लिए, किसी फ़ाइल की प्रतिलिपि बनाएँ build-deploy-validation/test/prod-SampleSolution.yml
और बिल्ड नाम को डिफ़ॉल्ट से बदलकर संस्करण रणनीति पर आधारित करें रन या बिल्ड नंबर कॉन्फ़िगर करें:
build:
- name: 1.0.$(Date:yyyyMMdd)$(Rev:.r)
...
जब आपके टेम्पलेट तैयार हो जाएं, तो उन्हें इंगित करने के लिए अपनी परिनियोजन प्रोफ़ाइल में परिनियोजन चरणों को अपडेट करें।
अपनी पाइपलाइनों में परिनियोजन चरणों की संख्या और लक्ष्य परिवेशों के नामों को अनुकूलित करें
टेम्प्लेट के साथ कस्टम संस्करण के समान, परिनियोजन पाइपलाइनों को उत्पन्न करने के लिए अपने स्वयं के टेम्पलेट्स लाने की क्षमता समाधान के प्रारंभिक निर्यात के दौरान अधिक लचीलापन प्रदान करती है। वह प्रोजेक्ट निर्दिष्ट करें जिसमें आपके टेम्पलेट्स मौजूद हैं और डिप्लॉयमेंट पाइपलाइन उत्पन्न करने के लिए उपयोग किए जाने वाले टेम्पलेट का पथ निर्दिष्ट करें। प्रोजेक्ट और पथ के लिए सेटिंग्स ALM एक्सेलेरेटर व्यवस्थापन ऐप में परिनियोजन प्रोफ़ाइल और परिनियोजन चरण तालिका में हैं.
टेम्पलेट का पथ निर्यात पाइपलाइन के स्थान की जड़ से संबंधित है। उदाहरण के लिए, डिफ़ॉल्ट सत्यापन वातावरण डिप्लॉयमेंट पाइपलाइन टेम्पलेट्स का पथ है /Pipelines/build-deploy-validation-SampleSolution.yml
. निर्यात पाइपलाइन के समान प्रोजेक्ट में टेम्पलेट का उपयोग करने के लिए, पथ को इस प्रकार निर्दिष्ट करें /Pipelines/build-deploy-validation-MyCustomTemplate.yml
.
निम्न तालिका समाधान-विशिष्ट मानों के लिए टेम्पलेट्स में प्लेसहोल्डर्स का वर्णन करती है जिन्हें डिप्लॉयमेंट पाइपलाइन उत्पन्न होने पर प्रतिस्थापित किया जाता है।
प्लेसहोल्डर | विवरण |
---|---|
SampleSolutionName | उपयोग किए जाने वाले समाधान का नाम |
RepositoryContainingTheBuildTemplates | परिनियोजन पाइपलाइन के लिए उपयोग करने के लिए बिल्ड टेम्प्लेट युक्त रिपॉजिटरी |
BranchContainingTheBuildTemplates | परिनियोजन पाइपलाइन के लिए उपयोग करने के लिए बिल्ड टेम्प्लेट युक्त ब्रांच |
alm-त्वरक-चर-समूह | वैश्विक चर समूह जिसका उपयोग बिल्ड टेम्पलेट्स डिप्लॉयमेंट पाइपलाइन के लिए करते हैं |
हम अनुशंसा करते हैं कि आप अपने स्वयं के कस्टम टेम्पलेट के साथ आरंभ करने के लिए पाइपलाइन टेम्पलेट की प्रतिलिपि बनाएँ। build-deploy-validation/test/prod-SampleSolution.yml
डिफ़ॉल्ट टेम्पलेट्स को संशोधित किए बिना अपनी पाइपलाइनों में कस्टम चरणों को निष्पादित करें
ALM एक्सेलेरेटर पाइपलाइन टेम्पलेट्स में कई एक्सटेंशन पॉइंट या हुक होते हैं, जिनका उपयोग आप अपग्रेड परिदृश्यों में मर्ज विवादों से उत्पन्न शोर को न्यूनतम करते हुए पाइपलाइनों को अनुकूलित करने के लिए कर सकते हैं। ALM एक्सेलेरेटर हुक के बारे में अधिक जानें.
पाइपलाइनों में विशिष्ट क्रियाएँ चालू या बंद करें
पाइपलाइनें यह निर्धारित करने के लिए चरों का उपयोग करती हैं कि किसी कार्य को निष्पादित किया जाना चाहिए या नहीं, या कई संभावनाओं में से किस कार्य को निष्पादित किया जाना चाहिए। निम्न तालिका उन चरों का वर्णन करती है जिन्हें आप किसी व्यक्तिगत पाइपलाइन के लिए या, alm-accelerator-variable-group के माध्यम से, सभी पाइपलाइनों के लिए सेट कर सकते हैं।
नोट
निर्यात पर विशिष्ट समाधानों के लिए इन चरों को सेट करने के लिए, निर्यात पाइपलाइन टेम्पलेट के आधार पर एक विशिष्ट निर्यात पाइपलाइन बनाएँ. इसका नाम export-solution-to-git-{SolutionName}
रखें. ALM एक्सेलेरेटर ऐप समाधान के लिए सामान्य-उद्देश्य export-solution-to-git पाइपलाइन के बजाय इस निर्यात पाइपलाइन का उपयोग करता है.
चर | डिफ़ॉल्ट | पाइपलाइनों | विवरण |
---|---|---|---|
GenerateDeploymentSettings | सही | Export | यदि गलत है, तो परिनियोजन सेटिंग्स उत्पन्न नहीं होती हैं और स्रोत नियंत्रण में संग्रहीत नहीं होती हैं. |
UseDeploymentSettingsPlaceholders | सही | Export | यदि गलत है, तो परिनियोजन सेटिंग्स प्लेसहोल्डर्स का उपयोग नहीं करती हैं, और परिनियोजन सेटिंग्स के सभी मान deploymentSettings.json और customDeploymentSettings.json फ़ाइलों में सहेजे जाते हैं.महत्वपूर्ण: संवेदनशील जानकारी आपकी परिनियोजन सेटिंग में सादे पाठ में सहेजी जा सकती है। स्रोत नियंत्रण तक पहुंच रखने वाला कोई भी उपयोगकर्ता इन मानों को पढ़ सकता है। यदि आप इस चर के लिए कोई मान निर्धारित करते हैं तो सावधानी बरतें। |
DisableFlows | गलत | Export | यदि सत्य है, तो कमिट करने से पहले अनपैक्ड स्रोत कोड में सभी प्रवाह बंद कर दिए जाते हैं। |
UseSolutionVersionFromDataverse | गलत | Export | यदि सही है, तो आपके समाधान में निर्यात की गई संस्करण संख्या डाउनस्ट्रीम परिवेशों में संरक्षित रहती है. जब समाधान स्रोत प्रतिबद्ध होता है तो संस्करण संख्या आपके स्रोत नियंत्रण में दिखाई देती है। |
DoNotExportCurrentEnvironmentVariableValues | गलत | Export | यदि सत्य है, तो वर्तमान परिवेश के लिए चर मान अनपैक्ड समाधान के स्रोत कोड से हटा दिए जाते हैं. |
PublishCustomizationsBeforeExport | सही | Export | यदि गलत है, तो समाधान निर्यात किए जाने से पहले अनुकूलन प्रकाशित नहीं किए जाते हैं. यह विकल्प तब उपयोगी होता है जब आप किसी साझा परिवेश में काम कर रहे हों और केवल नवीनतम प्रकाशित अनुकूलनों को निर्यात करना चाहते हों. |
कैश सक्षम | सही | निर्यात/तैनात करें | यदि गलत है, तो PowerShell मॉड्यूल की कैशिंग अक्षम है. यह विकल्प तब उपयोगी होता है जब आपकी पाइपलाइनें पाइपलाइनों के निष्पादन के बाद कैश निर्देशिका की सफाई करती हैं। |
प्रोसेसकैनवसऐप्स | सही | निर्यात/तैनात करें | यदि गलत है, तो कैनवास ऐप्स निर्यात के दौरान अनपैक नहीं किए जाते हैं या बिल्ड के दौरान पैक नहीं किए जाते हैं. नोट: कैनवास अनपैक और पैक कार्यक्षमता वर्तमान में पूर्वावलोकन में है। इस समय उत्पादन परिवेश में इसका उपयोग अनुशंसित नहीं है। हालाँकि, जब तक आप इस चर को True पर सेट नहीं करते, तब तक आप स्रोत नियंत्रण में कैनवास स्रोत कोड नहीं देख सकते। |
समाधान परीक्षक अक्षम करें | गलत | परिनियोजित करें | यदि सही है, तो समाधान परीक्षक प्रत्येक बिल्ड पर नहीं चलता है जिसे पुल अनुरोध के माध्यम से आरंभ किया जाता है. |
SkipSolutionआयात | गलत | परिनियोजित करें | यदि सत्य है, तो परिनियोजन के दौरान समाधान आयात चरण को छोड़ दिया जाता है. हालाँकि, प्रवाह सक्रियण और साझाकरण जैसी अन्य गतिविधियाँ अभी भी निष्पादित की जा सकती हैं। |