Power BI Deployment Pipelines Pitfalls / Lessons Learnt

Let's assume we are promoting an artifact (e.g., a semantic model) from the Dev environment to the Test environment using Deployment pipelines in PowerBI/Fabric.


1. ๐Ÿ“ฆ Artifact Comparison vs Runtime Behavior

  • Pipelines compare model files (datasets/reports) โ€” structure, not runtime behavior.

  • Connection settings at runtime (e.g., database server) are NOT part of artifact comparison.

  • "No difference" means file is same, not that connection string is right!

2. ๐Ÿš€ Deployment Rules Behavior

  • Deployment rules are only applied during promotion.

  • Saving deployment rules does NOT change already deployed artifacts.

  • You must promote again after setting deployment rules to apply them!

3. โšก How Differences Appear

ActionPipeline Comparison
Promote cleanly without manual changesSame โœ…
Manually change deployment rules after promoteDifferent โ—
Promote again with correct deployment rulesSame โœ…

4. ๐Ÿ”ฅ Environment Drift Trap

  • If you manually change rules after promotion โž” Environment drift detected โž” Pipeline shows Different.

  • If rules applied during promotion โž” No drift โž” Pipeline shows Same.

5. ๐ŸŽฏ Key Behavior

QuestionAnswer
Does saving deployment rule immediately update model?โŒ No
Does promoting apply deployment rules?โœ… Yes
Does "no difference" guarantee connection strings are correct?โŒ No
How to really guarantee correct server?โœ… Check parameters manually in Service + use proper deployment rules

๐Ÿง  Quick Pitfalls to Remember

PitfallHow to Avoid
Thinking "no difference" = correct server connectionAlways manually check connection
Saving deployment rules but forgetting to promote againAfter saving rules, always promote once more
Manually changing test/prod environment without re-promotingPrefer controlled promotions with automatic rule apply

Steps

pgsqlCopyEdit[ Dev Model ]
     |
     | (Promote)
     โ†“
[ Test Model (initially same as Dev) ]
     |
     | (Edit Deployment Rules? Save? Must Promote Again!)
     โ†“
[ Test Model (now runtime behavior changed to Test server) ]

โœ… Artifact stays same inside.
โœ… Runtime settings change when promoting with deployment rules.


โœ… Super Important :

Promotion applies rules. Saving rules alone does nothing. "No difference" checks files, not servers. Manual changes cause drift. Always check connections!

Thanks for Reading ..

0
Subscribe to my newsletter

Read articles from Nalaka Wanniarachchi directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Nalaka Wanniarachchi
Nalaka Wanniarachchi

Nalaka Wanniarachchi is an accomplished data analytics and data engineering professional with over 18 years of experience. As a CIMA(ACMA/CGMA) UK qualified ex-banker with strong analytical skills, he transitioned into building robust data solutions. Nalaka specializes in Microsoft Fabric and Power BI, delivering advanced analytics and engineering solutions. He holds a Microsoft certification as a Fabric Analytic Engineer and Power BI Professional, combining technical expertise with a deep understanding of financial and business analytics.