THE PROBLEM:
It is often required that solutions be deployed using Azure DevOps Pipelines. Sometimes there are often several iterations or environment rebuilds that must occur before the initial go-live of a solution, meaning that importing the solution into an environment for the first time (or after a rebuild) must use the stage-and-upgrade strategy rather than the import-as-holding strategy. However, subsequent imports into that same environment may require the import-as-holding strategy (e.g. deployment consists of multiple layer solutions or mid-deployment tasks must be carried out before upgrade occurs). However, importing the solution as a holding solution will fail if the solution does not already exist in the environment.
CURRENT LANDSCAPE:
Currently, Microsoft does not provide a task or simple method for detecting if a solution already exists in an environment, and the current Solution Import task will not perform this detection either. It is left to the implementor to find a way around this problem. Running the PAC CLI inside the pipeline is one option (pac solution list), but setting this up and parsing the output is a nuisance and too much effort for some people. We also can't be certain that the format of the CLI output will remain constant, meaning a change in format could break whatever parsing mechanism we assemble.
Third party tools might be another option, but some orgs or not too keen on the idea of granting third party party code access to their environments or repos.
THE ASK:
Any of the following enhancements to the suite Power Platform Build Tools:
Thanks, @Andrew7 I've created the discussion here: https://github.com/microsoft/powerplatform-build-tools/discussions/900
It might be good to share this idea here: microsoft/powerplatform-build-tools · Discussions · GitHub
WarrenBelz
85
Most Valuable Professional
Michael E. Gernaey
57
Super User 2025 Season 1
mmbr1606
55
Super User 2025 Season 1