Implement and Manage an Analytics Solution · Topic 2 of 5
Lifecycle Management with Git, Database Projects and Deployment Pipelines
DP-700 lifecycle management: Git integration with Azure DevOps or GitHub, SQL database projects for warehouses, and deployment pipelines with rules.
- 5 min
- Includes a diagram
- Git integration supports Azure DevOps and GitHub; one workspace connects to one branch and folder.
- Commit sends workspace changes to Git; Update brings Git changes into the workspace.
- Only item definitions move; lakehouse tables and warehouse rows are never copied.
What it is
Lifecycle management moves Fabric items from development to production in a controlled way. Git integration puts item definitions under version control, database projects manage warehouse schema as code, and deployment pipelines promote content between workspaces that act as stages.
Git and deployment pipelines move definitions, not data. A lakehouse arrives in the next stage as an item without its tables, and you load data there with your own processes.
How it works
Version control with Git integration
A workspace admin connects the workspace to Azure DevOps (Azure Repos) or GitHub, choosing an organization, repository, branch and folder. One workspace connects to one branch at a time.
| Action | Direction | Meaning |
|---|---|---|
| Commit | Workspace to Git | Saves changed item definitions to the branch |
| Update | Git to workspace | Applies changes made in the branch to the items |
| Branch out | Git to a new workspace | Creates a new branch and a workspace connected to it |
The Source control panel shows which items have uncommitted changes and which have incoming updates. If the same item changed on both sides, you resolve the conflict before you can commit, for example by keeping one version or by fixing it in Git.
Each item is stored as a folder of text files. A notebook is saved as source code, a pipeline as JSON, and a warehouse as a SQL database project, so changes are readable in a pull request.
A common pattern: each developer works in a private workspace on a feature branch, opens a pull request into main, and the shared development workspace is connected to main.
Database projects
A SQL database project describes a warehouse (or SQL database) as a set of CREATE scripts plus a project file. You get one by connecting the warehouse to Git or by downloading the project from the warehouse, then edit it in VS Code or Visual Studio with the SQL Database Projects tooling.
Building the project validates the schema and produces a .dacpac file. Publishing the dacpac compares it with the target warehouse and applies only the changes needed.
-- Tables/dbo.DimCustomer.sql inside the project
CREATE TABLE dbo.DimCustomer
(
CustomerKey INT NOT NULL,
CustomerID VARCHAR(20) NOT NULL,
CustomerName VARCHAR(200) NOT NULL,
City VARCHAR(100) NULL
);
SqlPackage /Action:Publish /SourceFile:bin/Debug/SalesDW.dacpac /TargetConnectionString:"<warehouse connection string>"
Database projects suit teams that already use SQL Server tooling, need schema compare, or run deployments from Azure DevOps or GitHub Actions.
Deployment pipelines
A deployment pipeline has 2 to 10 stages; the default is Development, Test and Production. Each stage is assigned one workspace on a Fabric capacity.
| Feature | What it does |
|---|---|
| Compare | Shows items that are new, different or only in one stage |
| Deploy | Copies all or selected items to the next stage |
| Deployment rules | Change stage-specific values, such as a semantic model's data source or a notebook's default lakehouse |
| Autobinding | Repoints items to their equivalents in the target stage, such as a report to the semantic model of that stage |
| Deployment history | Records who deployed what and when |
For values a pipeline or notebook reads at run time, such as a connection or a folder name per stage, a variable library holds one value set per stage. Deployment pipelines and Git can be combined: Git for development history, deployment pipelines for promotion.
A worked example
A team builds notebooks, a lakehouse and a pipeline. Development notebooks point at LH_Dev, but in production they must use LH_Prod. The data in LH_Dev is test data that must never reach production.
They create a deployment pipeline with Development, Test and Production stages and set a default lakehouse deployment rule on each notebook in Test and Production. Deploying copies only definitions, so the test data stays behind, and the production lakehouse is loaded by the production pipeline run.
How the exam asks about this
- "Track every change to notebooks and roll back a bad change." Connect the workspace to Git and commit.
- "Promote items from test to production without copying data, and use a different data source in production." Deployment pipeline with deployment rules.
- "Manage the warehouse schema in Visual Studio Code and deploy only the differences." SQL database project published as a dacpac.
What to remember for the exam
- Git integration supports Azure DevOps and GitHub; one workspace connects to one branch and folder.
- Commit sends workspace changes to Git; Update brings Git changes into the workspace.
- Only item definitions move; lakehouse tables and warehouse rows are never copied.
- Deployment pipelines have 2 to 10 stages, each mapped to one workspace.
- Deployment rules and variable libraries handle values that differ between stages.
Connecting a workspace to Git is a workspace admin task. A Contributor can commit and update an already connected workspace but cannot set up or change the connection.
Common mistakes
Expecting deployment to move data. Deployment pipelines and Git carry definitions only; plan a load in each stage.
Hard-coding stage values in notebooks and pipelines. Use deployment rules or a variable library so the same item works in every stage.
Editing items in a connected workspace and forgetting to commit. The changes exist only in the workspace until you commit, and an Update can conflict with them.
Check yourself
Which Git providers can a Fabric workspace connect to?
Azure DevOps (Azure Repos) and GitHub.
What does building a SQL database project produce?
A dacpac file, which is published to the target warehouse to apply only the schema differences.
How do you make a notebook use a different default lakehouse in the production stage?
Set a default lakehouse deployment rule on the notebook in the production stage of the deployment pipeline.
Topic 2 of 5 in Implement and Manage an Analytics Solution
Test yourself on Implement and Manage an Analytics Solution
The full Microsoft DP-700 question bank has 645 questions, with timed practice exams and an explanation for every answer.
This study guide is independent and is not affiliated with, endorsed by, or sponsored by Microsoft. Vendor names, certification names and exam codes are trademarks of their respective owners and are used for identification only.