(+351) 21 24 10006  ·  info@bconcepts.pt
Carnaxide, Lisbon
Power Apps / Power Platform
Power Apps / Power Platform 2 min

ALM in the Power Platform: environments, solutions and deploy pipelines

João Barros 16 de January de 2026 2 min read

Power Platform applications without ALM invariably result in editing directly in production, with no version control and bugs that are impossible to roll back. Solid ALM protects production and accelerates development.

Environment strategy

DEV   → individual development, test data, no restrictions
TEST  → acceptance testing, prod-like data, limited access
PROD  → only imported managed solutions, ZERO direct editing

Why separate environments?
  - Managed solution in PROD = not editable = protection against accidental errors
  - Connections (Linked Services) configured per environment
  - Test data never mixes with real data

Working with solutions

// ALWAYS create and edit inside a solution:
make.powerapps.com → Solutions → New Solution
  Publisher: BConcepts (prefix: bcpt_)
  Version: 1.0.0.0

// Add existing components OR create new ones inside the solution
// Components outside solutions cannot be exported/imported correctly

// Update the version before exporting:
Solutions → Edit → Version: 1.0.1.0

Power Platform Pipelines (built-in)

// Admin Center → Power Platform Pipelines → New pipeline
Source environment: DEV
Stages:
  1. TEST  (optional manual approval)
  2. PROD  (requires approval from 2 people)

// To deploy:
Solution → Pipelines → Deploy here
  → Select stage: TEST
  → Submit for approval / direct deploy
  → Pipeline applies as a MANAGED solution in the target environment

Managing connections across environments

// Problem: Connection References point to environment-specific connections
// Solution: Create the same Connection Reference in each environment with local connections
// On deploy, map Connection References correctly

// In the pipeline YAML (Azure DevOps alternative):
- task: PowerPlatformImportSolution@2
  inputs:
    SolutionInputFile: solution_managed.zip
    ConnectionVariables: |
      bcpt_SharePoint: $(SharePoint_PROD_ConnectionId)
      bcpt_SQL: $(SQL_PROD_ConnectionId)

Conclusion

ALM in the Power Platform is not complex — it requires the discipline of always working inside solutions and never editing directly in production. The built-in Power Platform Pipelines make the process accessible without Azure DevOps, while keeping governance and traceability.

Share: