Important Notes: 1 - The new Developer environments can be used in pipelines for dev & QA w/o needing premium licenses. Only end users in the prod env will ultimately need premium licenses (and not until pipelines GA). Makers won't need unless they're also an end user in prod. 2 - Environment Type can be Production, Developer, Sandbox etc. (only Dataverse for Teams based environments are not supported) 3 - All environments part of a pipeline configuration must be in same region as host environment for Pipeline. 4 - You can create multiple host environments. 5 - You can create upto 7 stages in pipeline configuration. 6 - All Target environments must be Managed.
Thank you so much for this, Reza. It is amazingly helpful! Several follow up questions: ENVIRONMENTS: (1) Does Sarah only need to be added as a Maker in the Pipeline Orchestrator & Dev Zone Environments? (2) What should her access level be in the Test & Prod Zones? SECURITY ROLES: (3) How should Sarah's Security roles be configured in order to have proper access to this solution in the Dev, Test, and Prod Zones? (4)Are there any other roles beyond the Pipeline User that she would need? USERS: (5) What would the best practice(s) be for user addition to/management in the Test and Prod Zones? (6) When sharing the app with new users, does it matter which environment the "share" link is sent from? DATA STORAGE: (7) Let's say an App developed in Dev Zone leverages Dataverse for record storage. Once ready, that App is deployed in Prod Zone. Will users in Prod Zone still be able to enter/read data in the table through the Prod Zone App, even if they cannot see the Dataverse table itself? Apologies if these have already been answered. If you have other videos explaining these, please do link them.
1 - Sarah does not need Maker Access in Pipeline Orchestrator. Sarah would need "Pipeline User" role & the pipeline config record must be shared with Sarah - both are shown in video. 2 - Sarah would need maker access in dev, test and prod. 3 - Sarah would need maker role in dev, test and prod. 4 - Pipeline user role + record shared (as shown in video) 5 - learn.microsoft.com/en-us/power-apps/developer/data-platform/user-team-entities 6 - No 7 - As long as user has the security role that grants access to tables which app connects to, they can access it.
First of all, thanks for this demo Reza, it really helped to get started, now while the approach seems to be very helpful to make your deployment process more straightforward, we have found a little glitch that is preventing us from approving this tool for general use, the issue is with Environment Variables, seems that for some variables (not all, even if they are the same type), the value on the destination environment gets overwritten with the one set on Dev, for example, let's say that you set your values on QA on a first deployment and don't expect to update them later, so you ensure the values are set in Dev too so you are not prompted for those values again, run the pipeline process and then when looking at QA variables have been overwritten, curiously enough if we do it with the manual deployment process this doesn't seem to happen. 🤷♂
You can use free DevOps with a Pipeline to avoid this as you can set the variables in YAML or through the Pipeline steps. Also, with DevOps you do not need to run Managed Environments so you avoid the full licensing costs required for Managed Environments.
Thank you @Reza Dorrani ! Your video is awesome as usual and the V1 Pipelines are great! I have 2 questions regarding the video. 1. You mentioned that the host environment does not need to have Managed Env enabled, but all environments that will be part of the pipeline deployment process should. Does this apply to DEV environment as well? (usually DEV env is unmanaged) 2. The entire experience requires Microsoft Dataverse. That means we need to have Dataverse licensing even though all our apps in the solution are based on SharepointLists? It would be really great to be able to set up the pipelines even though we do not (yet) have Dataverse. Thank you in advance for your reply! Keep up the great job !
1 - Dev needs to be a managed environment. Don’t get confused with managed/unmanaged solutions :) You will have unmanaged solutions in dev. 2 - Managed environments requires Dataverse and premium license for all users. I understand the SharePoint scenario from a licensing perspective but Pipelines is a premium feature.
@@venkatasubbaraopolisettymv3802 I understand Venkat, but my point is deploying to Unmanaged (Production Env.)means you are allowing the code changes in that environment. Specially when there are different teams any one can change the code to fix minor error or add simple enhancement. Now you lost the sync.
Thanks, great video. I have a question: I already have 4 environments, Dev, QA, UAT and Production. Only the production environment is a production environment. Your example has all environments as production environments. Does this mean that I need to convert my existing sandbox environments to production?
I've created the Host environment as a non-managed, but I had difficulties during the pipeline procedure, with a pop-up stating that the environment must be a managed-one. After I've created it as a managed, it worked fine.
Thanks Reza. Nice demo. Finally Microsoft made something on deployment pipeline. Looking for more advanced feature like option for deploying unmanaged solution, continuous deployment, approvals,etc.
If you made changes in Dev and used the standard Dev>Test>Prod pipeline, when you deploy to Test again, will it recognise that it already exists, and simply overwrite/upgrade, with an incrementing version number?
I've always appreciate your insight knowledge. My question is once I am in the solution in the dev environment, I don't see pipelines under history icon. Am I missing some sort of set up in Power Apps?
Probably because very few people are watching these videos. Viewership for basic videos on app and flow development are higher. I do like mixing up though and hence made a few videos on ALM and Solutions.
Great video, Thank you I have DEV-TEST-PROD I did multiple deployments from DEV to test and to PROD, but now we need to change a SharePoint list. I didn't find any way to remove previous environment variable value in TEST and PROD, just never prompts for value after first successful deployment. Only way works is to delete solution from TEST and PROD, this option might work in some scenarios but in case we have dataverse tables with data deleting solution also delete all custom tables :( I was trying to see if somehow deleting deployment artifacts in host environment might help to trigger the prompt for new variable values, but nothing...
I have not come across this issue and hence not sure what is the cause for your issue. I recommend posting your issue/query with screenshots on the forums at powerusers.microsoft.com
Great. Is there a best method way for Sarah to replace the Production deployed version with the last known good (working solution) if the latest solution has too many errors? I don't mean re-deploy but more like backup / restore or other options. Ie a temp quick fix for the production application solution while Sarah works on fixing the issue(s) in Dev before re-deploying to Test and Production again.
Great video, I have succeded to depoly to the test enviorment but after that I can't further deploy it to the production env, the solution becomes managed and checked and I think that stops it from not being deployed further. Also I noticed when a solution is managed and checked the pipline button on the side panel dosent show up.
Pipelines currently only deploys as managed. As shown in video, it can be moved to higher environments. I would recommend posting your issue with screenshots on the forums at powerusers.microsoft.com
@@RezaDorrani Thanks, I did but im not getting any any answers. When I try to depoly from Test env to Prod env I get the error message: ''The request message was already sent. Cannot send the same request message multiple times.''
Thank you Reza for the video. This is extremely useful. The only concern I have with this is that all the environments have to be managed environments. This might work well for a small company but for an organization with +-28000 users this is not feasible. Microsoft's licensing model needs a serious review, its just not practical. We would love to benefit from the ALM capabilities for our environments but the cost will be too high. We implemented DevOps pipelines for this, however its clunky and this seems more straightforward and intuitive. Secondly, does the pipelines allow for approval between deployment steps at the moment? Based on your demo, I haven't noticed any settings in relation to that. I will set up my own lab to investigate the capabilities as well.
Hi, brilliant video. Quick question. Is it possible to share only stages of the pipeline ? I want to allow every developer to deploy to UAT but only a select few to deploy to PROD
Currently you would need to share the entire pipeline. If you concern is access to prod, now we have a new feature which is SPN based deployments. Check the documentation.
Thank you for this, Reza. Would you use a Pipeline when exporting an unmanaged solution to an external client, who will own the solution and all components?
Thank you Reza for sharing. Does it support to "Export configuration/master data" to the environment which is very similar to how we usually do it in either Azure DevOps/CDS Configuration Migration Tool?
Hi Reza, Thanks for a great video. Some questions. 1) What is your prediction that this function will reach GA? 2) As i understand the soultion that is being deployed can have a SharePoint list or Dataverse as datasource. Is that correct?
thanks for the video! how much would this setup cost in your estimates? how do makers change solution version of they are not exporting manually anymore?
Setup cost - same as licensing for managed environments - learn.microsoft.com/en-us/power-platform/admin/managed-environment-licensing Solution version option is auto setup as shown in video. Pipelines default behavior is Upgrade with Maintain customizations.
Hi Reza, great stuff, concise and clear as ever. One question around Publishing: when you export solutions manually the UI always prompts you to Publish Customisations (which you should do if you haven't already!). Do you know if Power Pipelines remove the need to Publish all, or is this still a recommended manual step before triggering the deployment?
Thank you for the great video! One question, in this scenario, do we still need to create a patch for a solution? Or we just update the solution and deploy again through the pipeline? If we create the patch, do we put the patch into the pipeline?
Thank you for the wonderful video. I have deployed multiple versions of the same solution to the Target environment. Is there any way in the pipeline I can redeploy the previous version of the solution to the target environment? I can see the run history for the pipeline, but I am not finding the option to redeploy to the previous version.
Thanks Reza, helps everyone to have a quick understanding on Power Pipelines. Can I implement this between two different tenants? Also is it possible to move from Default Environment to specified Dev/Uat/Prod?
Currently, cross tenant is not supported. You can move from dev to specified environments (defined in pipeline configuration as shown in video, however currently it will move solutions across environments as managed solutions only.
Great video! How we can prevent developers from creating solutions and flows on Test and Prod, so that they're forced to create it on dev and then use pipelines? Shall we just do not give them app maker role on Test and Prod? Will they be able to still test and run their solutions? Or maybe there is smarter way of doing that?
Hi @Reza Dorrani, A great video from you...May I ask you a quick question if that's ok. By using Power Platform pipelines how to update or upgrade solution while deploying the solution?
Reza, thanks for the this informative video. I was wondering if there is a way to target solution artifacts in an environment. If I have more than one solution can a pipeline be set up for a specific solution.
I watched the video and proceeded without using Managed Environments and it still worked successfully. Could you clarify why you recommended using Managed Environments?
@@RezaDorranithanks for the reply, would you see any issues if we still proceed without managed solutions. All we are using it for is promoting it PROD. Appreciate your time.
Reza thanks for another amazing video! Currently from what you demoed, the pipeline need to be manually triggered Stage by Stage, only saving the export import time. Since the Stages & pipelines are managed as Dataverse records now, do you think we can potentially do some automation with Power Automate like we did to DevOps CI/CD pipelines? For example what we did in DevOps pipeline was: DEV deployed to TEST (manually triggered) -> On completion, approval email send to QA for validation / testing in TEST environment -> On approved, the deployment of TEST to PROD is automatically triggered without the need of manual action from user.
Thanks for watching and liking the content. Currently its manual - this is V1. A lot more is planned and coming. Check powerapps.microsoft.com/en-us/blog/power-platform-build-tools-and-azure-devops/
Awesome video as always! I was hopeful there would be a way for citizen developers to run pipelines without having System Customizer role (or sys admin if custom security roles are in the solution) in the production environment but I don’t believe that’s possible. Would be nice to keep prod as locked down as possible but grant users the ability to deploy their solutions as they wish.
I have not tried specifically with key vault but it should ask for the same. Ensure you follow steps shown in video for environment variables prior to deploying solution. I may have also shown that in a separate video on environment variables.
I tried it with your example and it worked fine, however trying it with another of my own solutions it failed. When I ran the pipeline from . Dev>Tes>Prod with the same toolset as per your video, I get an error: Missing dependencies....You will need to import the following items to this environment...Surely, the point of the pipeline is to transfer the entire solution (which works fine) from Dev to Test to Production? Advice? Update: I found the issue, just had to manually add required objects and republish and re-run pipeline. (My solution was using a global lookup list which had to be 'included' in the Dev solution for the pipeline to run and publish it to the 'Test' Environment and from there to the 'Prod' environment. Works fine now, but it would be nice if the system could warn of dependent objects and offer to auto pull them in.
Dependencies clearly means your solution is dependent upon certain components being installed in the target environment being missing. Advice would be to do what you did related to adding the required objects. Pipelines automates process of deployment not handling dependencies (at least not currently)
Thanks for watching. I make videos when I get multiple requests on a topic. Every quarter I ask subscribers for topic suggestions on community tab of my channel. Most voted topics get added to my backlog. It would be best to post this idea in next topic suggestion post.
If the deployment to test is a managed solution, then how do you change environment variables? For instance... have an environment variable for a SharePoint list that points to a DEV list, TEST list and Prod list.
When you import, it will ask you to add info for env variables. managed solution does not mean components cannot be edited. You cannot change them within solution context but they can be updated in context of environment. There is a default solution for env where all these components would also live in which can be updated.
Thank you for the great content. You have been my greatest inspiration. I never go wrong with your video tutorials. Are you planning to make a video on Wrap for Power Apps?
Hi Reza, Thank you for the video. I am trying to set up pipelines for our organization. I created and configured the pipelines as you showed above. The problem is when I share the pipeline with the user, we do not see the pipeline icon on our dev environment inside the solutions. Is it something that needs to be turned on? I supposed it should show up in environments with "Development Environment" environment type. Any help or suggestions will be appreciated. Thanks.
Check documentation on pipelines for prerequisites needed. Managed environments must be enabled, user needs maker rights in downstream environments and more.
Dear Mr. Reza. I have recently started to follow your work and took advantage of your Leave Request App. Can't thank you enough not only for the free release but also for the quality of work and detailed walkthroughs...to me that is unparalleled in this space. I was wondering if you have developed any staff performance evaluation app or if you plan to do so in the future (already subscribed to your blog)? . Thank you again and keep up the good work. Sincerely, Gjergji
Thank You Gjergji for following and liking the videos. I have not built any videos on staff performance evaluation and currently have no plans to build one in future. Every quarter I ask subscribers for topic suggestions on community tab of my channel. Most voted ideas get added to my backlog.
I’m not 100% sure about that. Check the documentation on pipelines. I would say it would be best to make it production type as it would be a permanent environment.
Hi Reza, You are amazing as always 🤝 after seeing this video I’ve created a flow in the solution. Later I created a copy of the same flow inside my flows tab which is not showing in the add existing cloud flow option. Did I do anything wrong 😑
@@RezaDorrani Thank you for your reply. I’ve 5 different lists connected to the app. So wanted to trigger an email with some conditions every time a new item is created in those lists. So thought of creating the copy and modify the steps wherever required because most of the steps remain same.
When I run the first deployment stage (Dev > Test) I immediately get error "Issue detected with the environment configuration for this pipeline. Please ensure a valid environment is associated with this stage". Where can I see the details?
Error message points to the environment configuration of the pipeline. Check pipeline host and see if valid details are provided for downstream environments. Debugging here on chat is not a good option. I recommend posting your issue/query with screenshots on the forums at powerusers.microsoft.com
Documentation would be the best recommendation. I make videos when I receive multiple requests on a topic. Every quarter I ask subscribers for topic suggestions on Community Tab of my channel. Most voted idea gets added to my backlog. Make sure to post this idea whenever I post the next topic suggestion post.
Hi Reza, Thank you for this! It was really helpful. I just have few questions: 1. Can I use a sandbox environment as a host? 2. Any recommended capacity storage for the host environment? 3. Can I use sandbox environment for target development environments?
Currently pipelines is in preview so I believe no restrictions. But once GA, I believe it host must be production. Capacity recommendations will be updated in documentation once GA. Currently, you could use sandbox. Im not 100% certain about my answers as this feature is in preview.
@@RezaDorrani thank you for the quick response. I can't find any documentation regarding that questions also. So last thing to do was to try. I'll give a feedback here too once I've tested it. Thanks again!
Hi Reza, I'm currently working on implementing email actions in our Power Platform pipelines, and I have a question regarding email recipients. During development and testing phases, I'd like to configure the email action to send notifications to my email address for testing purposes. However, once the solution is deployed to the production environment, I want the email action to send notifications to the appropriate recipients intended for production. Is there a way to dynamically configure the email recipients based on the environment (e.g., dev/test vs. prod) in Power Platform pipelines? Or do we need to manually adjust the email recipients each time we deploy the solution to different environments? Any insights or best practices on how to handle this scenario would be greatly appreciated. Thank you!
Sorry for the question. But the licensing part is a bit confusing for me. All our users have E5 license. So will they require additional license to run the app which are on managed environments? And will it require additional license to run the model driven app on host environment ?
Pipelines is not supported for DV4T environments. Not sure if there is any options for Teams environments as basically each team can only have 1 environment.
I have UAT and DEV environments, I want to move solutions from UAT (un-managed solution) to Dev (also to un-unmanaged solution) because we usually do some immediate changes in Dev also. I tried this, it is only importing as managed solution in Dev environments.
Nice one Reza ⭐⭐ How does this work with security groups? ie a testers group and a "live"(all users) group? Or is that all still managed separately in each environment?
Hello Reza. What if I would like the solution to be unmanaged, so that I can still make changes in production, I would have to leave the Enable Management Eniorement off right? But also I would have to mannually apply the changes to the dev enviorment right?
@@RezaDorrani I see. Also with regards to the connections, I could find whe can I map 'em, because as I told you before I am targeting a dev SQL Database in the dev enviorement and a Prod SQL Datavase in the production enviroment. I can't see where in the pipeline deplyment window I can manage that
@@RezaDorrani but I mean, what happends in that case where I want to target a prod database because is logical that that db is different from the dev one, right?
Hi Reza, when deploying from source environment -> target environment. Is it a best practice to have a separate connection (ex. Sharepoint connection) for each application? Or is it safe to share 1 sharepoint connection with multiple applications?
@@RezaDorrani ahh right2. How about connection references for applications? Do you usually go for sharing 1 sharepoint connection to multiple applications or 1 sharepoint connection per application? Sorry for the questions. I have been using 1 connection per application and i was wondering if it were better to share 1 application to multiple apps
Hi Reza, Thanks for this video. I have an app which is using some connections that I'm not own some of them, but the owner has shared them with me so I can use the connections but when I want to deploy my solution to test env it's asking me to update the connections! how can I handle this? and is there any wat that we can use our own connection in new env (managed env)?
Important Notes:
1 - The new Developer environments can be used in pipelines for dev & QA w/o needing premium licenses.
Only end users in the prod env will ultimately need premium licenses (and not until pipelines GA). Makers won't need unless they're also an end user in prod.
2 - Environment Type can be Production, Developer, Sandbox etc. (only Dataverse for Teams based environments are not supported)
3 - All environments part of a pipeline configuration must be in same region as host environment for Pipeline.
4 - You can create multiple host environments.
5 - You can create upto 7 stages in pipeline configuration.
6 - All Target environments must be Managed.
thank you for the presentation. if i understand well, all basic users and app makers will need a premium license?
last question: is the Managed environment replacing devops tool?
Great Presentation like always Reza !!
@@CatherineChazelas-bu7ob Yes
@@CatherineChazelas-bu7ob No
This is it folks, much appreciated Reza
Most welcome
Thank you so much for this, Reza. It is amazingly helpful! Several follow up questions:
ENVIRONMENTS:
(1) Does Sarah only need to be added as a Maker in the Pipeline Orchestrator & Dev Zone Environments?
(2) What should her access level be in the Test & Prod Zones?
SECURITY ROLES:
(3) How should Sarah's Security roles be configured in order to have proper access to this solution in the Dev, Test, and Prod Zones?
(4)Are there any other roles beyond the Pipeline User that she would need?
USERS:
(5) What would the best practice(s) be for user addition to/management in the Test and Prod Zones?
(6) When sharing the app with new users, does it matter which environment the "share" link is sent from?
DATA STORAGE:
(7) Let's say an App developed in Dev Zone leverages Dataverse for record storage. Once ready, that App is deployed in Prod Zone. Will users in Prod Zone still be able to enter/read data in the table through the Prod Zone App, even if they cannot see the Dataverse table itself?
Apologies if these have already been answered. If you have other videos explaining these, please do link them.
1 - Sarah does not need Maker Access in Pipeline Orchestrator. Sarah would need "Pipeline User" role & the pipeline config record must be shared with Sarah - both are shown in video.
2 - Sarah would need maker access in dev, test and prod.
3 - Sarah would need maker role in dev, test and prod.
4 - Pipeline user role + record shared (as shown in video)
5 - learn.microsoft.com/en-us/power-apps/developer/data-platform/user-team-entities
6 - No
7 - As long as user has the security role that grants access to tables which app connects to, they can access it.
@@RezaDorrani got it. Thank you so much for the thorough response! I really appreciate it and look forward to more videos.
As usual.....very detailed...... you have answered few of my questions.... Reza. Thanks
Glad to hear!
Thank you Reza, very useful way of the deployment process, if we can do this across different tenants that will be boom!!
Currently, across tenants is not supported.
Microsoft is working on it.
Can solutions be exported to another tenants?
@@danielmilloc2289 yes
Thank you for producing these videos Reza. They are really well made, and you are great at explaining topics.
Glad you like them!
Thanks Reza. I have been reading about this in the last couple days and now this video just answered almost all the questions I had.
Glad to hear that the video has answered most questions. Thanks for watching.
First time going to try this Pipeline deployment, really happy to see your video.. thanks for that and keep sharing!! :)
Thanks for watching
Your teachings are so clear! You are a great reference! Thank you for helping us to improve as professionals.
Thanks so much Diego
Another brilliant feature explained brilliantly. Thanks Reza
You are most welcome! Thanks so much for watching.
Thank you Reza. It is indeed a useful way of deployment process
Glad it was helpful!
Thanks Reza, Always love watching your video.
Glad to hear that
Flawless video Reza!!! Thanks a lot!!!
My pleasure!
Thanks Reza. Very cool feature, especially when you have multiple flows and components.
👍
You are phenomenal, Reza! Love your pedagogical approach both in the visuals and narrative :-)
And it's always so relevant to my challenges!
Awesome! So happy to hear the feedback.
Thanks so much Preben
Awesome update Reza... Highly useful. Thank you
Most welcome
Absolutely amazing, THANK YOU
You're very welcome!
Amazing 👏 thanks Reza for sharing this.
Most welcome
Hi Reza, Thank you for Great Video.
Most welcome
Great video. Thanks again Reza.
Most welcome
First of all, thanks for this demo Reza, it really helped to get started, now while the approach seems to be very helpful to make your deployment process more straightforward, we have found a little glitch that is preventing us from approving this tool for general use, the issue is with Environment Variables, seems that for some variables (not all, even if they are the same type), the value on the destination environment gets overwritten with the one set on Dev, for example, let's say that you set your values on QA on a first deployment and don't expect to update them later, so you ensure the values are set in Dev too so you are not prompted for those values again, run the pipeline process and then when looking at QA variables have been overwritten, curiously enough if we do it with the manual deployment process this doesn't seem to happen. 🤷♂
I have not experienced this behavior. Note: Pipelines is currently in preview. Hence not recommended to use in production scenarios until it goes GA.
You can use free DevOps with a Pipeline to avoid this as you can set the variables in YAML or through the Pipeline steps. Also, with DevOps you do not need to run Managed Environments so you avoid the full licensing costs required for Managed Environments.
Thank you for sharing Reza.
You are most welcome
Fantastic Work
Thanks
Very detailed demo Reza. Thank you.
Most welcome
Exactly what I needed. Thank you!
as always, great, great, great work!
Thank you! Cheers!
Thanks Reza, great video!
Most welcome
Thank you @Reza Dorrani ! Your video is awesome as usual and the V1 Pipelines are great! I have 2 questions regarding the video.
1. You mentioned that the host environment does not need to have Managed Env enabled, but all environments that will be part of the pipeline deployment process should. Does this apply to DEV environment as well? (usually DEV env is unmanaged)
2. The entire experience requires Microsoft Dataverse. That means we need to have Dataverse licensing even though all our apps in the solution are based on SharepointLists? It would be really great to be able to set up the pipelines even though we do not (yet) have Dataverse.
Thank you in advance for your reply! Keep up the great job !
1 - Dev needs to be a managed environment.
Don’t get confused with managed/unmanaged solutions :)
You will have unmanaged solutions in dev.
2 - Managed environments requires Dataverse and premium license for all users. I understand the SharePoint scenario from a licensing perspective but Pipelines is a premium feature.
As always great video :)
Thanjs
Thanks for the clear explanation
Most welcome
excellent tutorial...
Glad you liked it!
Thank you Reza for another great video, looking forward for the unmanaged solution deployments as well to get real strength!
Let's see if and when it makes it to Power Pipelines.
Deploying to Unmanaged.......we are opening up a can of worms. LOL.
@@satyenkasturi it could be deployment across dev environments
@@satyenkasturi : We have 5 development teams working in 5 different dev environments before they go to test. Hope you get my pain point here .
@@venkatasubbaraopolisettymv3802 I understand Venkat, but my point is deploying to Unmanaged (Production Env.)means you are allowing the code changes in that environment. Specially when there are different teams any one can change the code to fix minor error or add simple enhancement. Now you lost the sync.
Thanks again Reza! 🙏
Most welcome
Thank you Reza this really helpful
Glad it was helpful!
Thank you Reza❤
Welcome
Thanks, great video.
I have a question: I already have 4 environments, Dev, QA, UAT and Production. Only the production environment is a production environment. Your example has all environments as production environments. Does this mean that I need to convert my existing sandbox environments to production?
You don’t need to do that. Pipelines works with most if not all environment types
I've created the Host environment as a non-managed, but I had difficulties during the pipeline procedure, with a pop-up stating that the environment must be a managed-one. After I've created it as a managed, it worked fine.
Should not be the case. Might very well be a bug.
Thanks Reza. Nice demo. Finally Microsoft made something on deployment pipeline. Looking for more advanced feature like option for deploying unmanaged solution, continuous deployment, approvals,etc.
This is V1. A lot more to come.
If you made changes in Dev and used the standard Dev>Test>Prod pipeline, when you deploy to Test again, will it recognise that it already exists, and simply overwrite/upgrade, with an incrementing version number?
Yes it would
Great video!! Thank you!!
Most welcome
Well explained .
Thanks
Most welcome
I've always appreciate your insight knowledge. My question is once I am in the solution in the dev environment, I don't see pipelines under history icon.
Am I missing some sort of set up in Power Apps?
Power Pipelines must be configured in tenant. The dev environment must be part of a pipeline. The environment must be a managed environment.
Ah alas, been looking for this for ages. Why are there few people making videos like this on Power Platform?
Probably because very few people are watching these videos. Viewership for basic videos on app and flow development are higher.
I do like mixing up though and hence made a few videos on ALM and Solutions.
Thankyou so much,very helpful
Most welcome
Sir, please make one playlists of learning step by step 1 ,2 3,... Of your total video on channel to make learning easy
I have organized all videos in playlists based on topic. Most of my videos start with simple content and then I show more advanced cases.
Thank you for the content.
Welcome
Thank you for this video. So we dont need Azure DevOps Pipelines for PowerApps CI / CD anymore?
This does not have source control. You can use pipeline extensions to save solutions managed/unmanaged in source control using ADO or GitHub
Great video, Thank you
I have DEV-TEST-PROD
I did multiple deployments from DEV to test and to PROD, but now we need to change a SharePoint list. I didn't find any way to remove previous environment variable value in TEST and PROD, just never prompts for value after first successful deployment. Only way works is to delete solution from TEST and PROD, this option might work in some scenarios but in case we have dataverse tables with data deleting solution also delete all custom tables :(
I was trying to see if somehow deleting deployment artifacts in host environment might help to trigger the prompt for new variable values, but nothing...
I have not come across this issue and hence not sure what is the cause for your issue. I recommend posting your issue/query with screenshots on the forums at powerusers.microsoft.com
Great. Is there a best method way for Sarah to replace the Production deployed version with the last known good (working solution) if the latest solution has too many errors? I don't mean re-deploy but more like backup / restore or other options. Ie a temp quick fix for the production application solution while Sarah works on fixing the issue(s) in Dev before re-deploying to Test and Production again.
Making changes in production is not a recommended option even for quick fixes. Best practice is to go from dev-test-prod
Great video, I have succeded to depoly to the test enviorment but after that I can't further deploy it to the production env, the solution becomes managed and checked and I think that stops it from not being deployed further. Also I noticed when a solution is managed and checked the pipline button on the side panel dosent show up.
Pipelines currently only deploys as managed. As shown in video, it can be moved to higher environments.
I would recommend posting your issue with screenshots on the forums at powerusers.microsoft.com
@@RezaDorrani Thanks, I did but im not getting any any answers. When I try to depoly from Test env to Prod env I get the error message: ''The request message was already sent. Cannot send the same request message multiple times.''
@@jslj5774 Not sure about this as I have not faced this issue. Forums will be your best bet.
Thank you Riza for your efforts.
A question: is there any licensing requirements required to use this feature?
Yes, needs managed environments which require premium licenses for all users part of the environment.
Thank you Reza for the video. This is extremely useful.
The only concern I have with this is that all the environments have to be managed environments. This might work well for a small company but for an organization with +-28000 users this is not feasible. Microsoft's licensing model needs a serious review, its just not practical. We would love to benefit from the ALM capabilities for our environments but the cost will be too high. We implemented DevOps pipelines for this, however its clunky and this seems more straightforward and intuitive.
Secondly, does the pipelines allow for approval between deployment steps at the moment? Based on your demo, I haven't noticed any settings in relation to that. I will set up my own lab to investigate the capabilities as well.
Please check comments in video. These questions are covered.
Hi, brilliant video. Quick question. Is it possible to share only stages of the pipeline ? I want to allow every developer to deploy to UAT but only a select few to deploy to PROD
Currently you would need to share the entire pipeline. If you concern is access to prod, now we have a new feature which is SPN based deployments. Check the documentation.
Thank you for this, Reza. Would you use a Pipeline when exporting an unmanaged solution to an external client, who will own the solution and all components?
Pipelines only deploys managed solutions in same tenants
@@RezaDorrani, thank you! Will avoid in this case then!
Thank you Reza for sharing. Does it support to "Export configuration/master data" to the environment which is very similar to how we usually do it in either Azure DevOps/CDS Configuration Migration Tool?
learn.microsoft.com/en-us/power-platform/alm/pipelines
Check Q/A section at end of documentation.
Hi Reza,
Thanks for a great video.
Some questions.
1) What is your prediction that this function will reach GA?
2) As i understand the soultion that is being deployed can have a SharePoint list or Dataverse as datasource. Is that correct?
1) Not aware of GA date
2) Yes
thanks for the video! how much would this setup cost in your estimates? how do makers change solution version of they are not exporting manually anymore?
Setup cost - same as licensing for managed environments -
learn.microsoft.com/en-us/power-platform/admin/managed-environment-licensing
Solution version option is auto setup as shown in video. Pipelines default behavior is Upgrade with Maintain customizations.
Hi Reza, great stuff, concise and clear as ever. One question around Publishing: when you export solutions manually the UI always prompts you to Publish Customisations (which you should do if you haven't already!). Do you know if Power Pipelines remove the need to Publish all, or is this still a recommended manual step before triggering the deployment?
Thanks!
Pipelines I believe does a publish prior to exporting but no harm in performing that action prior to publishing.
@@RezaDorrani it would be odd if it didn't publish first, but as you say, no harm in making sure (except I find it often times out manually!)
Thank You Reza!!!
Most welcome
Thank you for the great video! One question, in this scenario, do we still need to create a patch for a solution? Or we just update the solution and deploy again through the pipeline? If we create the patch, do we put the patch into the pipeline?
Pipelines only does upgrade as I know. No need for any patch or any setup. Everything is handled for us. Simply deploy the solution.
@@RezaDorrani thank you so much Reza!
Nice quick introduction, thanks. Was there any reason for DEV/TEST environments to be set as production instead of sandbox?
They could be sandbox or production. In my case I had those environments setup as prod type. No specific reason.
@@RezaDorrani Thanks for the clarification & quick response! Much appreciated.
Thanks for the video Reza.
I have question, where or how can we set the environment variable when we are using the pipeline?
If they are a part of a solution and setup as shown in this video ruclips.net/video/Xo-TvZ9N3BM/видео.html
They will show up when running the pipeline
@@RezaDorrani Cool. Thank you!
Thank you for the wonderful video. I have deployed multiple versions of the same solution to the Target environment. Is there any way in the pipeline I can redeploy the previous version of the solution to the target environment? I can see the run history for the pipeline, but I am not finding the option to redeploy to the previous version.
You can only deploy higher versions.
Thanks Reza, helps everyone to have a quick understanding on Power Pipelines.
Can I implement this between two different tenants?
Also is it possible to move from Default Environment to specified Dev/Uat/Prod?
Currently, cross tenant is not supported.
You can move from dev to specified environments (defined in pipeline configuration as shown in video, however currently it will move solutions across environments as managed solutions only.
Great video! How we can prevent developers from creating solutions and flows on Test and Prod, so that they're forced to create it on dev and then use pipelines? Shall we just do not give them app maker role on Test and Prod? Will they be able to still test and run their solutions? Or maybe there is smarter way of doing that?
Check documentation on delegated departments via pipelines.
Hi @Reza Dorrani, A great video from you...May I ask you a quick question if that's ok. By using Power Platform pipelines how to update or upgrade solution while deploying the solution?
Pipelines only does upgrade I believe. There are no choices.
@@RezaDorrani , Thanks for answering. Is there anywhere I can find such information on Microsoft websites I tried to find but couldn't find anywhere.
@@MouniB-d2c Documentation has it all. Simply search on web for pipelines for power platform documentation
Excellent 🎉
Thanks
Reza, thanks for the this informative video. I was wondering if there is a way to target solution artifacts in an environment. If I have more than one solution can a pipeline be set up for a specific solution.
Pipelines are specific to an environment. Not solutions.
I watched the video and proceeded without using Managed Environments and it still worked successfully. Could you clarify why you recommended using Managed Environments?
As per documentation, target environments for pipelines must be managed
@@RezaDorranithanks for the reply, would you see any issues if we still proceed without managed solutions. All we are using it for is promoting it PROD. Appreciate your time.
@@RajeshSharma-fe9dy I would follow what the documentation says.
Reza thanks for another amazing video! Currently from what you demoed, the pipeline need to be manually triggered Stage by Stage, only saving the export import time. Since the Stages & pipelines are managed as Dataverse records now, do you think we can potentially do some automation with Power Automate like we did to DevOps CI/CD pipelines?
For example what we did in DevOps pipeline was: DEV deployed to TEST (manually triggered) -> On completion, approval email send to QA for validation / testing in TEST environment -> On approved, the deployment of TEST to PROD is automatically triggered without the need of manual action from user.
Thanks for watching and liking the content.
Currently its manual - this is V1. A lot more is planned and coming.
Check powerapps.microsoft.com/en-us/blog/power-platform-build-tools-and-azure-devops/
Thanks Reza just to know is it possible to put schedule to deploy solution
Currently scheduling is not supported
Excellent
Thanks
It's a great video as always, but I have a question about how we can handle versions rollback with pipelines?
Currently, it does not handle versioning
@@RezaDorrani thank. You sir
Very interesting to know this! Is there currently a way to retract a solution that has been deployed?
powerusers.microsoft.com/t5/Power-Apps-Governance-and/Rollback-Solution/td-p/821607
Awesome video as always!
I was hopeful there would be a way for citizen developers to run pipelines without having System Customizer role (or sys admin if custom security roles are in the solution) in the production environment but I don’t believe that’s possible. Would be nice to keep prod as locked down as possible but grant users the ability to deploy their solutions as they wish.
Its great feedback. I will share with the team.
Currently Maker role is needed at a minimum to deploy the solutions across environments.
Hi Reza,
First of all thanks for such useful video.
I tried this but it's not asking to configure key vault values. Is there any way out for this?
I have not tried specifically with key vault but it should ask for the same. Ensure you follow steps shown in video for environment variables prior to deploying solution. I may have also shown that in a separate video on environment variables.
I tried it with your example and it worked fine, however trying it with another of my own solutions it failed. When I ran the pipeline from . Dev>Tes>Prod with the same toolset as per your video, I get an error: Missing dependencies....You will need to import the following items to this environment...Surely, the point of the pipeline is to transfer the entire solution (which works fine) from Dev to Test to Production? Advice? Update: I found the issue, just had to manually add required objects and republish and re-run pipeline. (My solution was using a global lookup list which had to be 'included' in the Dev solution for the pipeline to run and publish it to the 'Test' Environment and from there to the 'Prod' environment. Works fine now, but it would be nice if the system could warn of dependent objects and offer to auto pull them in.
Dependencies clearly means your solution is dependent upon certain components being installed in the target environment being missing. Advice would be to do what you did related to adding the required objects. Pipelines automates process of deployment not handling dependencies (at least not currently)
Thank you Reza wonderful video. Please make one video related to WRAP feature for Android if possible.
Thanks for watching.
I make videos when I get multiple requests on a topic. Every quarter I ask subscribers for topic suggestions on community tab of my channel. Most voted topics get added to my backlog. It would be best to post this idea in next topic suggestion post.
If the deployment to test is a managed solution, then how do you change environment variables? For instance... have an environment variable for a SharePoint list that points to a DEV list, TEST list and Prod list.
When you import, it will ask you to add info for env variables. managed solution does not mean components cannot be edited. You cannot change them within solution context but they can be updated in context of environment. There is a default solution for env where all these components would also live in which can be updated.
Thank you for the great content. You have been my greatest inspiration. I never go wrong with your video tutorials. Are you planning to make a video on Wrap for Power Apps?
Most welcome!
Not planning a video on wrap as I have received very few requests on that topic.
Thank you@@RezaDorrani
Hi Reza,
Thank you for the video. I am trying to set up pipelines for our organization. I created and configured the pipelines as you showed above. The problem is when I share the pipeline with the user, we do not see the pipeline icon on our dev environment inside the solutions. Is it something that needs to be turned on? I supposed it should show up in environments with "Development Environment" environment type. Any help or suggestions will be appreciated. Thanks.
Check documentation on pipelines for prerequisites needed. Managed environments must be enabled, user needs maker rights in downstream environments and more.
Dear Mr. Reza. I have recently started to follow your work and took advantage of your Leave Request App. Can't thank you enough not only for the free release but also for the quality of work and detailed walkthroughs...to me that is unparalleled in this space. I was wondering if you have developed any staff performance evaluation app or if you plan to do so in the future (already subscribed to your blog)? . Thank you again and keep up the good work. Sincerely, Gjergji
Thank You Gjergji for following and liking the videos.
I have not built any videos on staff performance evaluation and currently have no plans to build one in future.
Every quarter I ask subscribers for topic suggestions on community tab of my channel. Most voted ideas get added to my backlog.
@@RezaDorrani Thank you for the prompt reply. Br
HI Reza.Thanks for amazing content.Just wanted to understand is it necessary to make host environment as PRODUCTION?
I’m not 100% sure about that. Check the documentation on pipelines. I would say it would be best to make it production type as it would be a permanent environment.
@RezaDorrani thanks Reza.I was thinking to do it for a demo within my organization.Will it be ideal in that case?
@@pallavigupta8378 Im not sure if it even allows non prod environments. Hence was asking to check documentation. If it allows then use it for demo.
Thanks a lot.Really appreciate all the good work you are doing.Thanks for always helping.
Hi Reza, You are amazing as always 🤝 after seeing this video I’ve created a flow in the solution. Later I created a copy of the same flow inside my flows tab which is not showing in the add existing cloud flow option. Did I do anything wrong 😑
Why would you create a copy of the same flow? If flow is in solution, simply make changes there in dev and then deploy via pipeline
@@RezaDorrani Thank you for your reply. I’ve 5 different lists connected to the app. So wanted to trigger an email with some conditions every time a new item is created in those lists. So thought of creating the copy and modify the steps wherever required because most of the steps remain same.
@@Samshujayanagar I would recommend checking on forums in case someone has done something similar
powerusers.microsoft.com
@@RezaDorrani sure, Thank you
When I run the first deployment stage (Dev > Test) I immediately get error "Issue detected with the environment configuration for this pipeline. Please ensure a valid environment is associated with this stage". Where can I see the details?
Error message points to the environment configuration of the pipeline. Check pipeline host and see if valid details are provided for downstream environments. Debugging here on chat is not a good option.
I recommend posting your issue/query with screenshots on the forums at powerusers.microsoft.com
the best Reza. thank you
Could you please make a video related to Appsource depolyment Package creation, or maybe a link recommendation. Your insights are always valuable.
Documentation would be the best recommendation.
I make videos when I receive multiple requests on a topic. Every quarter I ask subscribers for topic suggestions on Community Tab of my channel. Most voted idea gets added to my backlog. Make sure to post this idea whenever I post the next topic suggestion post.
Hi Reza,
Thank you for this! It was really helpful.
I just have few questions:
1. Can I use a sandbox environment as a host?
2. Any recommended capacity storage for the host environment?
3. Can I use sandbox environment for target development environments?
Currently pipelines is in preview so I believe no restrictions.
But once GA,
I believe it host must be production.
Capacity recommendations will be updated in documentation once GA.
Currently, you could use sandbox.
Im not 100% certain about my answers as this feature is in preview.
@@RezaDorrani thank you for the quick response. I can't find any documentation regarding that questions also. So last thing to do was to try. I'll give a feedback here too once I've tested it. Thanks again!
@@jherizaldo11 Reason for no detailed documentation is because its a preview feature.
Hi Reza,
I'm currently working on implementing email actions in our Power Platform pipelines, and I have a question regarding email recipients.
During development and testing phases, I'd like to configure the email action to send notifications to my email address for testing purposes. However, once the solution is deployed to the production environment, I want the email action to send notifications to the appropriate recipients intended for production.
Is there a way to dynamically configure the email recipients based on the environment (e.g., dev/test vs. prod) in Power Platform pipelines? Or do we need to manually adjust the email recipients each time we deploy the solution to different environments?
Any insights or best practices on how to handle this scenario would be greatly appreciated.
Thank you!
Environment variables is the answer
Sorry for the question. But the licensing part is a bit confusing for me. All our users have E5 license. So will they require additional license to run the app which are on managed environments? And will it require additional license to run the model driven app on host environment ?
Power Apps premium licenses will be required for all users. E5 does not cover premium licenses.
Is there anything like this that can be used for database for teams?
Pipelines is not supported for DV4T environments. Not sure if there is any options for Teams environments as basically each team can only have 1 environment.
I have UAT and DEV environments, I want to move solutions from UAT (un-managed solution) to Dev (also to un-unmanaged solution) because we usually do some immediate changes in Dev also. I tried this, it is only importing as managed solution in Dev environments.
Currently pipelines only supports managed solution deployments
Thank you Great Video as always! so no Azure Devops or Github subscription needed anymore or are they still relevant?
Not needed if Power Platform Pipelines meets your ALM needs but there will be options to integrate with devops and more in future.
Hi Reza. How are the conections automatically set in Prod if I am targeting a Prod database for example that is diferent from the dev database?
When you deploy via pipelines, the first thing it sets is connections. Check documentation
Hi Rezza,
Does each environemnt (Dev (Sandbox), Test (Sandbox), Prod (Production) need to be Enabled Managed Environments?
Only target environments need to be managed. So test and prod.
Nice one Reza ⭐⭐ How does this work with security groups? ie a testers group and a "live"(all users) group? Or is that all still managed separately in each environment?
Managed in environment
why did you grant "deployment pipeline user" at 8:08 and share the pipeline at 8:18 ? what is the difference? why both?
Deployment pipeline user role is to run pipelines.
Sharing is for them to be able to run that specific pipeline.
Check documentation for details.
Hello Reza. What if I would like the solution to be unmanaged, so that I can still make changes in production, I would have to leave the Enable Management Eniorement off right? But also I would have to mannually apply the changes to the dev enviorment right?
Pipelines only supports managed solution exports as of now
@@RezaDorrani I see. Also with regards to the connections, I could find whe can I map 'em, because as I told you before I am targeting a dev SQL Database in the dev enviorement and a Prod SQL Datavase in the production enviroment. I can't see where in the pipeline deplyment window I can manage that
Cannot as of now.
@@RezaDorrani but I mean, what happends in that case where I want to target a prod database because is logical that that db is different from the dev one, right?
@benjaminlahsen6721 you will need to go to app in test or prod and update connection
Hi Reza, when deploying from source environment -> target environment. Is it a best practice to have a separate connection (ex. Sharepoint connection) for each application? Or is it safe to share 1 sharepoint connection with multiple applications?
Each environment will have a separate connection. I'm assuming you mean connection reference fot data source. That is completely up yo you.
@@RezaDorrani ah yes, the connection reference. Is there a best practice on that? what is your preference?
@clairevoyance26 Ideally one should have different lists for dev, test and prod
@@RezaDorrani ahh right2. How about connection references for applications? Do you usually go for sharing 1 sharepoint connection to multiple applications or 1 sharepoint connection per application? Sorry for the questions. I have been using 1 connection per application and i was wondering if it were better to share 1 application to multiple apps
@clairevoyance26 there is no right or wrong way. I use the same connection.
Hi Reza, Thanks for this video. I have an app which is using some connections that I'm not own some of them, but the owner has shared them with me so I can use the connections but when I want to deploy my solution to test env it's asking me to update the connections! how can I handle this? and is there any wat that we can use our own connection in new env (managed env)?
That would require a post deployment step to swap the connections (via an admin account)
@@RezaDorrani is there any reference or document for this?
@@MohammadsadeghSalehi-l5x I am not aware of one