CI/CD and Lifecycle Management
Version, test and promote Fabric solutions safely using Git integration, deployment pipelines and the Fabric REST APIs
CI/CD Concepts and Lifecycle Pillars
Core CI/CD Concepts - Continuous integration: developers frequently commit and merge changes so issues are identified early - Continuous delivery: validated changes are automatically prepared or deployed to a staging environment before production release - Continuous deployment: changes that pass testing are automatically released to production
Three Lifecycle Pillars in Fabric - Git integration: version history, branching, collaboration and rollback - Deployment pipelines: promote content through Development, Test and Production stages - Fabric REST APIs: automate Git synchronisation, status checks and deployments
Git Integration Workflow
Typical Git Workflow in Fabric - Connect a development workspace to a GitHub or Azure DevOps repository and branch - Develop in an isolated branch or workspace instead of overwriting shared work - Commit workspace changes to the feature branch - Open a pull request and merge approved changes into the main branch - Synchronise the shared development workspace with the updated branch
Common Confusion - Git integration synchronises a workspace with source control - A deployment pipeline promotes Fabric items between environment workspaces - These are complementary but different processes
Deployment Pipelines and Automation
Deployment pipelines assign workspaces to lifecycle stages such as Development, Test and Production. Deploying from one stage to another clones or updates supported items in the target environment.
Recommended Pattern - A common clean pattern is to connect only the Development workspace to Git - Use Git for version control and pull-request review - Use deployment pipelines to promote validated content to Test and Production
Automation with Fabric APIs - Git integration APIs: commit changes, pull updates and check synchronisation status - Deployment pipeline APIs: list stage items and deploy stage content programmatically
Lifecycle Principle - Separate development, testing and production, and use repeatable automation to reduce manual error and keep releases auditable