2.3.3. Deployment Pipelines and Rules
💡 First Principle: Deployment pipelines automate the promotion of Fabric content through development stages—like an assembly line with quality checkpoints. Deployment rules are the "configuration translators" that swap out development settings for production settings automatically. Without rules, you'd deploy to production still pointing at your test database.
Scenario: Your lakehouse connects to a development database during development. When deploying to production, it must connect to the production database. Without deployment rules, someone would need to manually update the connection after every deployment—and eventually, they'd forget.
Deployment Pipeline Stages
- Development: Active development workspace
- Test: Quality assurance and validation
- Production: Live business operations
Deployment Rules
- Purpose: Override item settings per stage
- Common Uses:
- Change database connection strings
- Modify service endpoints
- Update parameter values
- Configuration: Set at the item level for each target stage
Visual: Deployment Pipeline with Rules
Deployment Behavior
| Action | Result |
|---|---|
| Assign workspace to first stage | Workspace becomes source for pipeline |
| Assign workspace to downstream stage | Content from previous stage is copied to new workspace |
| Deploy to next stage | Modified content is compared and promoted |
⚠️ Exam Trap: Pipelines copy content as-is without rules. You must create deployment rules to change connection settings—they don't happen automatically. A question about "connections still pointing to dev database after deployment" is testing whether you know this.
Key Trade-Offs:
- Full Deployment vs. Selective Deployment: Full deployment ensures consistency; selective deployment allows targeted updates but risks configuration drift
- Automatic Rules vs. Manual Verification: Rules automate configuration but require careful setup to avoid production issues
Reflection Question: Your development lakehouse uses sample data from a dev database. When deployed to production without deployment rules, what will happen to the data connection?