{"id":715,"date":"2024-03-13T23:08:00","date_gmt":"2024-03-13T23:08:00","guid":{"rendered":"https:\/\/automatethemundane.com\/index.php\/2024\/03\/13\/power-pipelines-and-enhanced-alm-part-2-initial-setup\/"},"modified":"2024-03-21T15:48:50","modified_gmt":"2024-03-21T15:48:50","slug":"power-pipelines-and-enhanced-alm-part-2-initial-setup","status":"publish","type":"post","link":"https:\/\/automatethemundane.com\/index.php\/2024\/03\/13\/power-pipelines-and-enhanced-alm-part-2-initial-setup\/","title":{"rendered":"Power Pipelines and Enhanced ALM Part 2 &#8211; Initial Setup"},"content":{"rendered":"\n<h1 class=\"wp-block-heading\">The Why<\/h1>\n\n\n<p class=\"has-text-color\" style=\"color: rgb(0, 0, 0)\">As stated in the onset of this series  the goal of this project is to build out Power Pipelines for our Power Platform ALM journey. To start this journey we first need to build out our environments and configure the base pipeline. <\/p>\n\n\n<h1 class=\"wp-block-heading\">Environments<\/h1>\n\n\n<ol class=\"wp-block-list\">\n<li>We will first need to create four environments and write down each of the environments ID\n<figure class=\"wp-block-table\"><table><thead><tr><th>Environment Name<\/th><th>Environment Type<\/th><th>Environment Management<\/th><\/tr><\/thead><tbody><tr><td>Development<\/td><td>Production<\/td><td>Unmanaged<\/td><\/tr><tr><td>Test<\/td><td>Production<\/td><td>Managed<\/td><\/tr><tr><td>Production <\/td><td>Production<\/td><td>Managed<\/td><\/tr><tr><td>Pipeline Orchestrator<\/td><td>Production<\/td><td>Managed<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/automatethemundane.com\/wp-content\/uploads\/2024\/03\/untitled-25-1024x234.png\" alt=\"\"\/><\/figure>\n<\/li>\n<\/ol>\n\n\n<h1 class=\"wp-block-heading\">Pipeline<\/h1>\n\n\n<h2 class=\"wp-block-heading\">Install Pipeline<\/h2>\n\n\n<ol class=\"wp-block-list\">\n<li>From the Admin Center navigate to the Orchestrator environment  <\/li>\n\n\n\n<li>Select Resources then Dynamics 365 Apps\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/automatethemundane.com\/wp-content\/uploads\/2024\/03\/untitled-26-1024x101.png\" alt=\"\"\/><\/figure>\n<\/li>\n\n\n\n<li>Select Install app then Power Platform Pipelines\n<p class=\"has-background\" style=\"background-color: rgb(241, 241, 239)\">&#x1f4a1; This will take some time to install, so maybe grab a coffee.<\/p>\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/automatethemundane.com\/wp-content\/uploads\/2024\/03\/untitled-27-1024x414.png\" alt=\"\"\/><\/figure>\n<\/li>\n<\/ol>\n\n\n<h2 class=\"wp-block-heading\">Configure Environments<\/h2>\n\n\n<p class=\"has-text-color\" style=\"color: rgb(0, 0, 0)\">Once the Pipeline is installed, navigate to the Orchestrator Environment and launch the Deployment Configuration App<\/p>\n\n\n<p class=\"has-text-color\" style=\"color: rgb(0, 0, 0)\">The configuration app is a MDA that will control all aspects of the pipeline<\/p>\n\n\n<ol class=\"wp-block-list\">\n<li>Navigate to the Environments section on the left had pane of the MDA<\/li>\n\n\n\n<li>Select New<\/li>\n\n\n\n<li>A MDA form will be shown to enter in the information about each environment . <\/li>\n\n\n\n<li>Enter in the ID of each environment that was captured earlier. \n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/automatethemundane.com\/wp-content\/uploads\/2024\/03\/untitled-28-1024x418.png\" alt=\"\"\/><\/figure>\n<\/li>\n\n\n\n<li>For the Development Environment Select the Type of \u201cDevelopment\u201d\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/automatethemundane.com\/wp-content\/uploads\/2024\/03\/untitled-29-1024x355.png\" alt=\"\"\/><\/figure>\n<\/li>\n\n\n\n<li>For the Test and Production Environment select \u201cTarget Environment \u201d \n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/automatethemundane.com\/wp-content\/uploads\/2024\/03\/untitled-30-1024x343.png\" alt=\"\"\/><\/figure>\n<\/li>\n\n\n\n<li>Save each record. Then after a few minutes each environment will display as successfully validated. \n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/automatethemundane.com\/wp-content\/uploads\/2024\/03\/untitled-31-1024x265.png\" alt=\"\"\/><\/figure>\n<\/li>\n<\/ol>\n\n\n<h2 class=\"wp-block-heading\">Configure Pipeline<\/h2>\n\n\n<p class=\"has-text-color\" style=\"color: rgb(0, 0, 0)\">With the Environments completed we now need to configure the actual pipeline<\/p>\n\n\n<ol class=\"wp-block-list\">\n<li>Select Pipelines from the left hand menu. <\/li>\n\n\n\n<li>Select New at the top<\/li>\n\n\n\n<li>Give the pipeline a name and a description. Then hit save.\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/automatethemundane.com\/wp-content\/uploads\/2024\/03\/untitled-32-1024x148.png\" alt=\"\"\/><\/figure>\n<\/li>\n\n\n\n<li>The ability to add in the environments into the pipeline will now be activated.<\/li>\n\n\n\n<li>From the development Environment subgrid select new<\/li>\n\n\n\n<li>A quick create form will appear on the right hand side. Enter in the Name, the type (Development) and the id. Then Save and close the record.\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/automatethemundane.com\/wp-content\/uploads\/2024\/03\/untitled-33.png\" alt=\"\"\/><\/figure>\n<\/li>\n\n\n\n<li>From the Deployment Stages subgrid, select new. In this new form enter in the name, description, and environment id of the Test Environment. Save and close the record.\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/automatethemundane.com\/wp-content\/uploads\/2024\/03\/untitled-34.png\" alt=\"\"\/><\/figure>\n<\/li>\n\n\n\n<li>Again from the Deployment Stages Subgrid, select new. <\/li>\n\n\n\n<li>In this form, enter in the name, Description, the previous stage (test) and the target stage (production). Save and close the record. \n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/automatethemundane.com\/wp-content\/uploads\/2024\/03\/untitled-35.png\" alt=\"\"\/><\/figure>\n<\/li>\n<\/ol>\n\n\n<p class=\"has-text-color\" style=\"color: rgb(0, 0, 0)\">The pipeline is now fully built, but we need to define the roles so that users can actually use it. <\/p>\n\n\n<h2 class=\"wp-block-heading\">Security Roles<\/h2>\n\n\n<p class=\"has-text-color\" style=\"color: rgb(0, 0, 0)\">There are two roles associated with Power Pipelines. Deployment Pipeline User and Deployment Pipeline Administrator. To use the pipeline we need to ensure that each of our users has the Deployment Pipeline User role associated with them. My preferred method is to create a a Power Platform Team within the admin center, associate it with an O365 Group, and assign the role to that team. The reason I like doing this is it allows for self service of being granting permissions. For example I can create a Private team in MS teams, this in turn will create an O365 group. Now when a user needs to be granted permissions, I can offload that to their lead by simply letting them put them in the correct team. This is also beneficial because you can give different security roles to team members vs owners. Using this pipeline as an example we can give all users of the team the Deployment Pipeline User, while giving owners of the team both the Deployment Pipeline User and Deployment Pipeline Administrator roles. <\/p>\n\n\n<ol class=\"wp-block-list\">\n<li>From the Power Platform Admin center navigate to Environments , then the Orchestrator Environment.<\/li>\n\n\n\n<li>Select Teams from the Access Menu on the right hand side.\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/automatethemundane.com\/wp-content\/uploads\/2024\/03\/untitled-36.png\" alt=\"\"\/><\/figure>\n<\/li>\n\n\n\n<li>Select Create Team\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/automatethemundane.com\/wp-content\/uploads\/2024\/03\/untitled-37-1024x197.png\" alt=\"\"\/><\/figure>\n<\/li>\n\n\n\n<li>Give the team a name, an Administrator, Select the team type of Office Group, Select the team group (Team) that you want, then select the membership type. Select Next.\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/automatethemundane.com\/wp-content\/uploads\/2024\/03\/untitled-38.png\" alt=\"\"\/><\/figure>\n<\/li>\n\n\n\n<li>Give the role the Deployment Pipeline User role. Then select save. \n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/automatethemundane.com\/wp-content\/uploads\/2024\/03\/untitled-39.png\" alt=\"\"\/><\/figure>\n<\/li>\n<\/ol>\n\n\n<p class=\"has-text-color\" style=\"color: rgb(0, 0, 0)\">Congratulations! Your pipeline is now configured to run. In the next post we will go over the governance plan and creating a solution register. This will ensure that all solutions are vetted and approved. <\/p>\n\n\n<p class=\"has-text-color\" style=\"color: rgb(0, 0, 0)\"> <\/p>\n\n","protected":false},"excerpt":{"rendered":"<p>The Why As stated in the onset of this series the goal of this project is to build out Power Pipelines for our Power Platform ALM journey. To start this journey we first need to build out our environments and configure the base pipeline. Environments Pipeline Install Pipeline Configure Environments Once the Pipeline is installed, [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":710,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[22,43,42],"tags":[25,41],"class_list":["post-715","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-dataverse","category-environments","category-power-pipelines","tag-dataverse","tag-power-pipelines","entry","has-media"],"jetpack_featured_media_url":"https:\/\/automatethemundane.com\/wp-content\/uploads\/2024\/03\/photo-1616868560403-b4675d3a545b-scaled.jpg","_links":{"self":[{"href":"https:\/\/automatethemundane.com\/index.php\/wp-json\/wp\/v2\/posts\/715","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/automatethemundane.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/automatethemundane.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/automatethemundane.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/automatethemundane.com\/index.php\/wp-json\/wp\/v2\/comments?post=715"}],"version-history":[{"count":1,"href":"https:\/\/automatethemundane.com\/index.php\/wp-json\/wp\/v2\/posts\/715\/revisions"}],"predecessor-version":[{"id":733,"href":"https:\/\/automatethemundane.com\/index.php\/wp-json\/wp\/v2\/posts\/715\/revisions\/733"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/automatethemundane.com\/index.php\/wp-json\/wp\/v2\/media\/710"}],"wp:attachment":[{"href":"https:\/\/automatethemundane.com\/index.php\/wp-json\/wp\/v2\/media?parent=715"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/automatethemundane.com\/index.php\/wp-json\/wp\/v2\/categories?post=715"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/automatethemundane.com\/index.php\/wp-json\/wp\/v2\/tags?post=715"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}