Declarative Power BI deployment pipelines
Four environments. Approval gates. Zero babysitting.
A repeatable CI/CD architecture for Power BI that treats workspace deployments the same way software teams treat code releases — version-controlled, automated, and auditable.
Declarative JSON workspace config
Every workspace is defined in a versioned JSON file — membership, permissions, datasets, reports. The config is the source of truth. The pipeline reads it; humans don't touch workspaces directly.
Azure DevOps YAML pipeline
Each environment (dev, test, UAT, prod) is a separate pipeline stage with its own approval gate. Finance and Actuarial sign off on UAT before anything reaches production. The pipeline handles promotion, not a person.
PowerShell module layer
Custom modules wrap the Power BI REST API and Graph API — workspace creation, dataset binding, RLS assignment, capacity attachment. Idempotent, rerunnable, logged.
Service principal auth throughout
No personal accounts. No expiring tokens. Service principals managed in Azure Key Vault, rotated on schedule, scoped to exactly what each pipeline stage needs.
Stack