Getting Started¶
Installation¶
To install fabric-cicd, run:
Authentication¶
- You can optionally provide your own credential object that aligns with the TokenCredentialclass. For more details, see the TokenCredential documentation.
-  If you do not provide a token_credentialparameter, the library will use the Azure SDK'sDefaultAzureCredentialfor authentication.- Refer to the Azure SDK documentation for the order in which credential types are attempted.
-  For local development with a User Principal Name (UPN), install either the Azure CLI or the Az.Accounts PowerShell module. 
-  Note: When no credential is provided, the DefaultAzureCredentialmay select an unexpected identity. For example, if you log in to the Azure CLI with a Service Principal Name (SPN) but log in to Az.Accounts with a UPN, theDefaultAzureCredentialwill prioritize the CLI authentication.
 
Directory Structure¶
This library deploys from a directory containing files and directories committed via the Fabric Source Control UI. Ensure the repository_directory includes only these committed items, with the exception of the parameter.yml file.
/<your-directory>
    /<item-name>.<item-type>
        ...
    /<item-name>.<item-type>
        ...
    /<workspace-subfolder>
        /<item-name>.<item-type>
            ...
        /<item-name>.<item-type>
            ...
    /parameter.yml
GIT Flow¶
The flow pictured below is the hero scenario for this library and is the recommendation if you're just starting out.
- Deployedbranches are not connected to workspaces via GIT Sync
- Featurebranches are connected to workspaces via GIT Sync
- Deployedworkspaces are only updated through script-based deployments, such as through the fabric-cicd library
- Featurebranches are created from the default branch, merged back into the default- Deployedbranch, and cherry picked into the upper- Deployedbranches
- Each deployment is a full deployment and does not consider commit diffs
