Skip to content

Architecture Overview

shirasassoon edited this page Jan 13, 2026 · 6 revisions

Structure

The fabric-cicd package contains four modules:

  1. fabric_cicd:
    • The main and all-encompassing module most notably contains the fabric_workspace.py and publish.py files among other files and internal modules
  2. Common:
    • Internal module (_common) that contains various files that control different components used when running a deployment, including formatting, logging, API management, user input and file type validations, etc.
  3. Items:
    • Internal module (_items) in which a file exists per supported Fabric item type in fabric-cicd. Each file is named according to the item type defined which contains a wrapper publish function along with custom logic applicable for the defined item type
  4. Parameter:
    • Internal module (_parameter) that contains the _parameter.py and _utils.py files responsible for the validation and load of the parameter YAML file as well as other parameterization-related features

Interface

Deployment is broken down into two operation types:

  1. Publish
    • Publishing (creating/updating) Fabric items in a Fabric workspace
  2. Unpublish
    • Unpublishing (removing) Fabric items from a Fabric workspace

Two ways to run a deployment using fabric-cicd:

  1. Legacy
    • Requires explicit instantiation of the FabricWorkspace object
    • Then calling either or both of the following functions-publish_all_items() and unpublish_all_items()- with the workspace object passed in as a required parameter
    • See additional information here
  2. Configuration Deployment (Recommended)
    • Requires the creation and setting up of a configuration file (e.g., config.yml)
    • Calling a single function-deploy_with_config()-with the path to the configuration file and optionally (but recommended) the target environment value
    • See additional information here

Clone this wiki locally