Azure DevOps Pipelines para dados: CI/CD de notebooks e pipelines ADF
João Barros
01 de September de 2025
1 min de leitura
Os Azure DevOps Pipelines aplicam as práticas de CI/CD ao mundo dos dados: cada commit a um notebook, pipeline ADF ou relatório Power BI passa por validação automática antes do deploy para produção.
CI Pipeline — validação de notebooks Python/PySpark
trigger:
- main
- develop
pool: { vmImage: ubuntu-latest }
stages:
- stage: CI
jobs:
- job: ValidateNotebooks
steps:
- task: UsePythonVersion@0
inputs: { versionSpec: "3.11" }
- script: pip install pytest nbconvert flake8 pyspark
displayName: Instalar dependências
- script: flake8 notebooks/ --max-line-length=120 --ignore=E501
displayName: Lint PySpark
- script: pytest tests/ -v --tb=short
displayName: Testes unitários
- task: PublishTestResults@2
inputs:
testResultsFiles: "tests/results/*.xml"
CD Pipeline — deploy de ADF ARM templates
stages:
- stage: DeployADF_Test
condition: and(succeeded(), eq(variables['Build.SourceBranch'], 'refs/heads/main'))
jobs:
- deployment: DeployADF
environment: test
strategy:
runOnce:
deploy:
steps:
- task: AzureResourceManagerTemplateDeployment@3
inputs:
azureResourceManagerConnection: 'AzureServiceConnection_Test'
resourceGroupName: 'rg-adf-test'
location: 'westeurope'
templateLocation: 'Linked artifact'
csmFile: '$(Pipeline.Workspace)/adf-arm/ARMTemplateForFactory.json'
overrideParameters: >
-factoryName adf-bconcepts-test
-KeyVault_properties_typeProperties_baseUrl https://kv-bconcepts-test.vault.azure.net/
Deploy de notebooks Databricks
- task: DatabricksDeployScripts@0
inputs:
authMethod: ServicePrincipal
SpId: $(DATABRICKS_SP_ID)
SpSecret: $(DATABRICKS_SP_SECRET)
TenantId: $(TENANT_ID)
DatabricksUrl: https://adb-xxx.azuredatabricks.net
LocalPath: notebooks/
RemotePath: /Shared/Production/
Conclusão
CI/CD para dados reduz deploys manuais propensos a erros e garante que código testado chega a produção. Comece simples: lint + testes unitários no CI, deploy de ARM templates no CD. Adicione aprovações manuais antes do stage de produção.