Introducing fabric-cicd Deployment Tool
We’re excited to announce the preview of the Fabric CI/CD Python library! Recognizing the importance of CI/CD in our success, we decided to open source our project to share with the community. As part of the Azure Data Insights & Analytics team, an internal data engineering group focused on supporting product analytics for Azure Data, we’ve been using Fabric as the backbone of our platform for the last two years. Our team is committed to maintaining and evolving this library, and we look forward to collaborating with the community to enhance its capabilities!
What is fabric-cicd?
Fabric-cicd is a code-first solution for deploying Microsoft Fabric items from a repository into a workspace. Its capabilities are intentionally simplified, with the primary goal of streamlining script-based deployments. Fabric-cicd is not replacing or competing with Fabric deployment pipelines or features that will be available directly within Fabric, but rather a complementary solution targeting common enterprise deployment scenarios.
Key Features
- Easy Configuration: provide the target workspace id, the local directory to deploy from, and the desired item types.
- Parameterization: change environment specific values at time of deployment.
- Authentication: all Azure TokenCredential authentication methods are accepted (User, SPN, Managed Identity, etc).
- Debuggability: enable debugging to see all outbound API calls being made.
- Item Types: currently supports Notebooks, Environments, Data pipelines, Semantic Models, and Reports – with many more to come prioritized by the community.
Open Source
This library offers a flexible deployment framework, yet there’s always room for innovation and improvement. Contributions are welcome to help improve its functionality—whether through raising feature requests or directly contributing to the code. For specific needs, or if you’re just looking for a starting point for your own solution, simply fork the repository!
Getting Started
Installation
Run the following shell command
pip install fabric-cicd
Configuration
Create the following Python script
from fabric_cicd import FabricWorkspace, publish_all_items, unpublish_all_orphan_items
# Initialize the FabricWorkspace object with the required parameters
target_workspace = FabricWorkspace(
workspace_id = "your-workspace-id",
repository_directory = "your-repository-directory",
item_type_in_scope = ["Notebook","DataPipeline","Environment"],
)
# Publish all items defined in item_type_in_scope
publish_all_items(target_workspace)
# Unpublish all items defined in item_type_in_scope not found in repository
unpublish_all_orphan_items(target_workspace)
Run in VS Code

Next Steps
- Get started by installing and deploying today!
- Review fabric-cicd documentation to learn more about the capabilities and ways to contribute.
- Provide feedback, report issues, or request features on fabric-cicd Issues.
Contributors: Jacob Knightley, Joe Muziki, Kiefer Sheldon, Mohammad Al Aqrabawi, Shira Sassoon