You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+33-1Lines changed: 33 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -44,8 +44,40 @@ Git repo (dev branch)
44
44
45
45
| Document | Description |
46
46
|---|---|
47
-
|[Fabric CI/CD Release Options](fabric-cicd-release-options.md)| Evaluates all CI/CD release options for Fabric (Deployment Pipelines, Git-based, Build-based, Hybrid) and recommends the Hybrid approach. **Start here** if you're deciding on a strategy. |
47
+
|[CI/CD Release Options](fabric-cicd-release-options.md)| Evaluates all CI/CD release options for Fabric (Deployment Pipelines, Git-based, Build-based, Hybrid) and recommends the Hybrid approach. **Start here** if you're deciding on a strategy. |
48
48
|[Hybrid CI/CD Implementation Guide](hybrid-cicd-implementation-guide.md)| Deep dive into the implementation: workflow structure, sandwich pattern, configuration strategy, prerequisites, setup steps, and gotchas. |
49
+
|[Development Process](development-process.md)| How developers work day-to-day: branch-out workflow, environment bootstrap/reset script, and PR validation. |
50
+
51
+
---
52
+
53
+
## Key Concepts
54
+
55
+
Before choosing a CI/CD approach or development workflow, understand these two realities about Fabric items.
56
+
57
+
### Item Tracking Categories
58
+
59
+
Not all Fabric items can be managed the same way. From a lifecycle management perspective, items fall into three categories:
60
+
61
+
| Category | Description | Examples |
62
+
|---|---|---|
63
+
|**Git-tracked**| Items supported by [Fabric Git integration](https://learn.microsoft.com/en-us/fabric/cicd/git-integration/intro-to-git-integration#supported-items). Their definitions are serialized to files in the repo, enabling version control, branching, and code-review workflows. | Notebooks, Semantic Models, Lakehouses, Reports, Variable Libraries, Data Pipelines, Environments |
64
+
|**Deployment Pipeline–only**| Items not supported by Git integration but supported by [Fabric Deployment Pipelines](https://learn.microsoft.com/en-us/fabric/cicd/deployment-pipelines/intro-to-deployment-pipelines#supported-items). They can be promoted workspace-to-workspace but cannot be version-controlled in Git. | Ontologies (at the time of writing) |
65
+
|**Manual**| Items supported by neither Git integration nor Deployment Pipelines. These must be created and configured manually in each workspace. | Varies as Microsoft continues adding support — always check the official supported items lists |
66
+
67
+
> **Important:** Both supported items lists evolve as Microsoft adds capabilities. Always verify against the official documentation before assuming an item falls into a particular category.
68
+
69
+
This categorization directly impacts your CI/CD strategy. The [Hybrid CI/CD Implementation Guide](hybrid-cicd-implementation-guide.md) uses the "sandwich pattern" specifically to handle the gap between git-tracked and deployment-pipeline-only items.
70
+
71
+
### Variable Libraries: Dynamic vs Static Metadata
72
+
73
+
Some Fabric items resolve environment-specific values **at runtime** through [Variable Libraries](https://learn.microsoft.com/en-us/fabric/cicd/variable-library/variable-library-cicd), while others have environment-specific IDs **hardcoded in their definitions**.
74
+
75
+
| Type | How it works | Examples |
76
+
|---|---|---|
77
+
|**Dynamic (Variable Library)**| The item reads IDs from the Variable Library at runtime. Changing the active value set automatically switches the environment context — no file changes needed. | Notebooks using `notebookutils.variableLibrary.getLibrary()`|
78
+
|**Static (hardcoded)**| The item definition contains literal workspace/lakehouse GUIDs that must be rewritten per environment — either at deploy time (via `parameter.yml`) or via script (`branch_env.py`). | Semantic Model Direct Lake URL (`expressions.tmdl`), Notebook META dependency blocks (`default_lakehouse`, `default_lakehouse_workspace_id`) |
79
+
80
+
When designing your development and CI/CD processes, identify which items in your workspace are dynamic vs static. Static items need either deploy-time parameterization (`parameter.yml` for CI/CD) or script-based rewriting (`branch_env.py` for feature branches). The [Development Process](development-process.md) doc covers how this repo handles both.
Copy file name to clipboardExpand all lines: development-process.md
+5-1Lines changed: 5 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,4 +1,4 @@
1
-
# Feature Branch Development Process
1
+
# Development Process
2
2
3
3
This document describes the two primary approaches for feature branch development in Microsoft Fabric with Git integration, the tradeoffs of each, and how this repository implements the **Branch Out** pattern.
4
4
@@ -76,6 +76,8 @@ A Python script at `scripts/branch_env.py` handles the full lifecycle of feature
0 commit comments