Fabric CICD is a Python library designed for use with Microsoft Fabric workspaces. This library is intended to support code first CICD integrations to seamlessly integrate Source Controlled workspaces into a deployment framework. The goal of this library is to support the CICD developers that don't want to dig into the weeds of interacting directly with the Microsoft Fabric APIs.
If you encounter any issues, please raise a bug.
If you have ideas for new features/functions, please request a feature.
- Deploying Items hosted in a repository
- 100% deployment, does not consider diffs
- Deploys into the tenant of the executing identity
- Notebooks
- Data Pipelines
- Environments
- Notebooks Limitations
- Attached lakehouses are not changed during the deployment
- Attached resources are not included in the deployment
- Data Pipelines
- Connections are not changed during the deployment
- Environments
- Custom and Public Libraries are not included in the deployment
- Folders
- Sub folders are not included in the deployment
pip install fabric-cicd
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='',
environment='',
repository_directory=r'',
item_type_in_scope=[]
)
# 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)
This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.opensource.microsoft.com.
When you submit a pull request, a CLA bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., status check, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.
This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact [email protected] with any additional questions or comments.
This project may contain trademarks or logos for projects, products, or services. Authorized use of Microsoft trademarks or logos is subject to and must follow Microsoft's Trademark & Brand Guidelines. Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship. Any use of third-party trademarks or logos are subject to those third-party's policies.