Deployment reference · verified 17 Nov 2026

Power Pages deployment,by architecture.

How a site gets to production depends on what it runs on: configuration data, solutions or a code upload. 15 deployment capabilities for the standard data model, the enhanced data model and SPA code sites, including Azure DevOps and GitHub. Every verdict links to its source.

Approach 1

Walk the release route

Pick your architecture, then follow a release from packaging to the live site. Select any step for the details.

Included Not included Not documented
Approach 2

All three side by side

Same route, one table. Open a row for the caveats that break releases and the source behind each verdict.

LAST VERIFIED 2026-11-17
CapabilitySDMEDMSPA
Field notes

What the docs don't tell you about code sites

Tested on an enterprise SPA project in October 2026. Not documented on Microsoft Learn, so they sit outside the matrix.

Field note

The upload carries your site configuration

pac pages upload-code-site doesn't only upload the build. It also pushes .powerpages-site: new site settings are created, changed ones are updated. Settings you delete locally stay on the server.

Field note

Pull before you push

Without a fresh download first, an upload overwrites changes made in the Power Pages Management app. In our test, a registration setting that had been switched off would have been switched back on. Treat the server as the source of truth for configuration and the repo for the build.

Migration path

Stuck on SDM? Most gaps close with a migration

Microsoft ships a CLI utility for it: pac pages migrate-datamodel. Not every template can be migrated.

  1. Report. Generate the customization report and fix custom columns, relationships, Liquid, FetchXML, plug-ins and workflows that touch adx_ tables.
  2. Development. Migrate with mode configurationData and capture the result in a solution.
  3. Test and production. Import the solution, then migrate only the references with configurationDataReferences.
  4. Switch. Activate the enhanced data model in a maintenance window. --revertToStandardDataModel is the way back.

Source: Standard to enhanced data model migration overview.

Method

How this was checked

  • Platform behavior comes from Microsoft Learn. Azure DevOps and GitHub tooling comes from the task and action definitions in microsoft/powerplatform-build-tools and microsoft/powerplatform-actions, because the Learn parameter tables lag behind them.
  • Included means Learn or the official task definition says yes. Not included means Learn excludes it or no official task exists. Not documented means neither says anything.
  • Preview features are marked. Field notes are marked and kept out of the matrix.
  • Part of a series: the Security Reference compares 22 security controls the same way.

Spotted a change? Write to [email protected] and I'll update the reference.