Skip to content

🚀 CI/CD Integration

Tutorial Duration Level

Implement continuous integration and deployment for Azure Data Factory using ARM templates, Azure DevOps, and automated testing.

📋 Table of Contents

🔄 Git Integration

Configure Git Repository

  1. Navigate to ADF Studio > Manage > Git configuration
  2. Select repository type (Azure DevOps or GitHub)
  3. Configure branches:
  4. Collaboration branch: main
  5. Publish branch: adf_publish

Branch Strategy

Development Flow:
├── main (collaboration)
├── feature/feature-name
├── develop
└── adf_publish (ARM templates)

📦 ARM Template Deployment

Export ARM Template

ARM templates are automatically generated in the adf_publish branch.

Deploy Using PowerShell

# Deploy ARM template
New-AzResourceGroupDeployment `
  -ResourceGroupName "rg-adf-prod" `
  -TemplateFile "./adf_publish/ARMTemplateForFactory.json" `
  -TemplateParameterFile "./adf_publish/ARMTemplateParametersForFactory.json"

🔧 Azure DevOps Pipeline

Build Pipeline

# azure-pipelines.yml
trigger:
  branches:
    include:
      - main

pool:
  vmImage: 'ubuntu-latest'

steps:
- task: CopyFiles@2
  inputs:
    SourceFolder: '$(Build.Repository.LocalPath)/adf_publish'
    Contents: '**'
    TargetFolder: '$(Build.ArtifactStagingDirectory)'

- task: PublishBuildArtifacts@1
  inputs:
    PathtoPublish: '$(Build.ArtifactStagingDirectory)'
    ArtifactName: 'adf-templates'

Release Pipeline

# release-pipeline.yml
stages:
- stage: Deploy_Dev
  jobs:
  - deployment: Deploy_ADF_Dev
    environment: 'Dev'
    strategy:
      runOnce:
        deploy:
          steps:
          - task: AzureResourceManagerTemplateDeployment@3
            inputs:
              deploymentScope: 'Resource Group'
              azureResourceManagerConnection: 'Azure-Connection'
              resourceGroupName: 'rg-adf-dev'
              location: 'East US 2'
              templateLocation: 'Linked artifact'
              csmFile: '$(Pipeline.Workspace)/adf-templates/ARMTemplateForFactory.json'
              csmParametersFile: '$(Pipeline.Workspace)/adf-templates/ARMTemplateParametersForFactory.json'

📚 Additional Resources

🚀 Next Steps

18. Environment Management


Module Progress: 17 of 18 complete

Tutorial Version: 1.0 Last Updated: January 2025