🚀 CI/CD Integration¶
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¶
- Navigate to ADF Studio > Manage > Git configuration
- Select repository type (Azure DevOps or GitHub)
- Configure branches:
- Collaboration branch:
main - 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¶
Module Progress: 17 of 18 complete
Tutorial Version: 1.0 Last Updated: January 2025