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.
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.
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.
@@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.
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?
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?
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.
Reza, thank you so much for this excellent tutorial on the new Power Platform Pipeline feature. I was able to follow it almost perfectly until index time of 9:32. This is where you demo Sarah deploying to the Dev environment. At this point she is prompted to enter a value for the solution's environment variable Banner Text. But in my test solution, I am not being prompted to enter a value for my solution's environment variable. What might be keeping it from prompting me in the same fashion? Thanks in advance.
@@RezaDorrani I am a little bit confused by your reply. The point of pipelines is that you should not have to export anymore, you would build in the dev environment then run the pipeline. What am I missing? Updating environment variable values is a pain - what Ken is experiencing - and I am trying to figure out how pipelines can help. Ken, I suspect your environment variable is already set with a value or a default value.
@@christophe7519 Pipelines is currently a preview feature. MY environment variable is set but I have also ensured I take t step shown in video link provided to ensure when it exports, it allows me to enter its value in subsequent environment.
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?
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?
Hi Reza, It’s a great walkthrough, I have configured by following your tutorial at 9:33 the Deploy option doesn’t shows me to enter destination environment variables different site and list. Yes, I do have environment variables created for site and list . Is it bug or glitch? If any points to be keep in mind what should those please let me know. Thanks in advance
@@RezaDorrani Thanks for your quick reply, I have removed environment variables current values in solution and saved. Then i try to deploy using pipeline at that time it's asking me to provide environment variable values correctly.
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.
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?
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.''
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.
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.
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, 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
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.
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.
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/
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.
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?
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?
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?
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.
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?
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?
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, 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.
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.
Great video! In instances where you are deploying the same solution, but with changes (so a different version number) are the managed solutions being deployed using the “Upgrade” option?
Again a superb video from Reza that is really applicable to my project. If I have one dataverse table being utilized by multiple solutions. In terms of deployment, do I need the to add same table to all solutions utilizing it, or adding it only to the main solution?
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.
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?
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 ?
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!
Hi Reza, thanks for the fab video. FYI, I have been able to configure these pipelines as per your video. Great stuff! Thank you!! Do you know if there is any validation on the solution before a push from DEV to TEST or TEST to PROD? Does each deployment get versioned, and do we have a 'Roll back' option if needed? I assume that we only push logic from DEV to TEST to PROD and that all underlying fact data in the PROD application is always un-changed.
Solution checker is available for validations. Each deployment solution is saved (version available) and I believe rollback option is coming soon. Data stays intact.
@RezaDorrani Hi Reza, thanks for the prompt reply. Do you know if Pipelines can be used across tenants? Here is the use case: If we build a standard solution for several customers, can we use pipelines to update new features across many PROD environments in different tenants?
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 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.
Hello Reza. Thank you so much for your channel. It is very helpful. I have a issue with delegation in powerapps and wonder if you can give me some of you insights. basically, I want to filter my gallery by my group. First, I get the manager's email and then use that to get the list of emails that direct report to it by using directreportsV2. I store the list to a collection and use it to filter my gallery. I check if the submittedby email is in that list. I get delegation. Can you help me with that? Thank you so much
I do not have a video reference on this scenario and would have to try it out to provide guidance. I would recommend posting your issue/query with screenshots on the forums at powerusers.microsoft.com
Hi Reza, thanks a lot for this video! I have a question about the host environment: Does the host environment type need to match the test or dev environment? For example, if the dev environment is set to 'sandbox,' should the host also be a 'sandbox'?
Tank you so much Reza for your answare. I have another question . Can I install the pipeline app in prod env. to import a solution from dev to test . And install in dev to import solution from test to prod?
@@RezaDorrani Thanks for your quick reply. In this video (ruclips.net/video/uILb28j4lso/видео.html), Phil Topness asked Kartik if this is going to work for power pages (3:24). The answer was absolutly. So let's wait for that :) 🤞🤞
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
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.
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!
Your teachings are so clear! You are a great reference! Thank you for helping us to improve as professionals.
Thanks so much Diego
First time going to try this Pipeline deployment, really happy to see your video.. thanks for that and keep sharing!! :)
Thanks for watching
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.
As usual.....very detailed...... you have answered few of my questions.... Reza. Thanks
Glad to hear!
Thanks!
Thank You
Another brilliant feature explained brilliantly. Thanks Reza
You are most welcome! Thanks so much for watching.
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
Thank you Reza. It is indeed a useful way of deployment process
Glad it was helpful!
This is it folks, much appreciated Reza
Most welcome
Thanks Reza, Always love watching your video.
Glad to hear that
Thanks Reza. Very cool feature, especially when you have multiple flows and components.
👍
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.
Flawless video Reza!!! Thanks a lot!!!
My pleasure!
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
Thank you for sharing Reza.
You are most welcome
Great video. Thanks again Reza.
Most welcome
Hi Reza, Thank you for Great Video.
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.
Exactly what I needed. Thank you!
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.
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!)
Very detailed demo Reza. Thank you.
Most welcome
Thanks for the clear explanation
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.
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.
As always great video :)
Thanjs
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.
as always, great, great, great work!
Thank you! Cheers!
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 Reza, great video!
Most welcome
Reza, thank you so much for this excellent tutorial on the new Power Platform Pipeline feature. I was able to follow it almost perfectly until index time of 9:32. This is where you demo Sarah deploying to the Dev environment. At this point she is prompted to enter a value for the solution's environment variable Banner Text. But in my test solution, I am not being prompted to enter a value for my solution's environment variable. What might be keeping it from prompting me in the same fashion? Thanks in advance.
Depends on the steps you took prior to exporting solution. Check my video on solution exporting. ruclips.net/video/Xo-TvZ9N3BM/видео.html
@@RezaDorrani I am a little bit confused by your reply. The point of pipelines is that you should not have to export anymore, you would build in the dev environment then run the pipeline. What am I missing? Updating environment variable values is a pain - what Ken is experiencing - and I am trying to figure out how pipelines can help. Ken, I suspect your environment variable is already set with a value or a default value.
@@christophe7519 Pipelines is currently a preview feature. MY environment variable is set but I have also ensured I take t step shown in video link provided to ensure when it exports, it allows me to enter its value in subsequent environment.
@@RezaDorrani Got it, you were talking about the dev preparation ruclips.net/video/Xo-TvZ9N3BM/видео.html, not the pipeline.
Did you find a solution to this? I'm running into the same issue.
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.
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
Hi Reza,
It’s a great walkthrough, I have configured by following your tutorial at 9:33 the Deploy option doesn’t shows me to enter destination environment variables different site and list.
Yes, I do have environment variables created for site and list . Is it bug or glitch? If any points to be keep in mind what should those please let me know.
Thanks in advance
I have done 2 other videos on environment variables and solutions. Check those. You have to do some setup for env variables prior to export.
@@RezaDorrani Thanks for your quick reply, I have removed environment variables current values in solution and saved. Then i try to deploy using pipeline at that time it's asking me to provide environment variable values correctly.
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.
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
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.
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.
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.
excellent tutorial...
Glad you liked it!
Thank you Reza this really helpful
Glad it was helpful!
Fantastic Work
Thanks
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, 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
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
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!
Well explained .
Thanks
Most welcome
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.
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.
Great video!! Thank you!!
Most welcome
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.
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 again Reza! 🙏
Most welcome
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
Thank you Reza❤
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!
Thank you for the content.
Welcome
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.
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, Thanks for this awesome video as always. So this video is also referred as CI & CD in PowerApps right !!
Yes
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.
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.
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
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
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!
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.
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
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.
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.
Great video! In instances where you are deploying the same solution, but with changes (so a different version number) are the managed solutions being deployed using the “Upgrade” option?
I believe it uses upgrade under the hoods
Again a superb video from Reza that is really applicable to my project.
If I have one dataverse table being utilized by multiple solutions. In terms of deployment, do I need the to add same table to all solutions utilizing it, or adding it only to the main solution?
Main solution is enough
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.
Great Video RD, Can we deploy solution as unmanaged in targeted environments by using this method ?
Currently, No
@@RezaDorrani thank you for confirmation.
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.
Excellent 🎉
Thanks
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,
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
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.
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
Thanks Reza just to know is it possible to put schedule to deploy solution
Currently scheduling is not supported
Hi Reza, thanks for the fab video. FYI, I have been able to configure these pipelines as per your video. Great stuff! Thank you!! Do you know if there is any validation on the solution before a push from DEV to TEST or TEST to PROD? Does each deployment get versioned, and do we have a 'Roll back' option if needed? I assume that we only push logic from DEV to TEST to PROD and that all underlying fact data in the PROD application is always un-changed.
Solution checker is available for validations.
Each deployment solution is saved (version available) and I believe rollback option is coming soon.
Data stays intact.
@RezaDorrani Hi Reza, thanks for the prompt reply. Do you know if Pipelines can be used across tenants? Here is the use case: If we build a standard solution for several customers, can we use pipelines to update new features across many PROD environments in different tenants?
@@JohnAckery Pipelines currently does not support cross-tenants
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 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.
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.
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
Thank You Reza!!!
Most welcome
Hello Reza. Thank you so much for your channel. It is very helpful. I have a issue with delegation in powerapps and wonder if you can give me some of you insights. basically, I want to filter my gallery by my group. First, I get the manager's email and then use that to get the list of emails that direct report to it by using directreportsV2. I store the list to a collection and use it to filter my gallery. I check if the submittedby email is in that list. I get delegation. Can you help me with that? Thank you so much
I do not have a video reference on this scenario and would have to try it out to provide guidance. I would recommend posting your issue/query with screenshots on the forums at powerusers.microsoft.com
Hi Reza, thanks a lot for this video! I have a question about the host environment: Does the host environment type need to match the test or dev environment? For example, if the dev environment is set to 'sandbox,' should the host also be a 'sandbox'?
Host env needs to be of type Prod.
Tank you so much Reza for your answare. I have another question . Can I install the pipeline app in prod env. to import a solution from dev to test . And install in dev to import solution from test to prod?
Check documentation on requirements and best practices for pipeline host. Ideally it should be it's own prod env.
the best Reza. thank you
Amazing! Thanks Reza.. Is it possible to add Power Pages to the pipeline?
Whatever can be added to a solution can be added to pipeline. I don’t believe pages are solution aware yet but I have not done much work with them.
@@RezaDorrani Thanks for your quick reply. In this video (ruclips.net/video/uILb28j4lso/видео.html), Phil Topness asked Kartik if this is going to work for power pages (3:24). The answer was absolutly. So let's wait for that :) 🤞🤞
@@samawel83 :)
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
Great video. What would be the right way/strategy to deploy the Canvas apps across Dev/Test/Prod env.?
There is no right way. There are options. Pipelines is an in-product experience, simple to configure and use. Video shows canvas app deployment.
@@RezaDorrani Thanks a lot for the response.