Automatizar a integração contínua mediante a utilização das versões dos Pipelines do Azure
APLICA-SE A: Azure Data Factory Azure Synapse Analytics
Gorjeta
Experimente o Data Factory no Microsoft Fabric, uma solução de análise tudo-em-um para empresas. O Microsoft Fabric abrange tudo, desde a movimentação de dados até ciência de dados, análises em tempo real, business intelligence e relatórios. Saiba como iniciar uma nova avaliação gratuitamente!
A seguir está um guia para configurar uma versão do Azure Pipelines que automatiza a implantação de uma fábrica de dados em vários ambientes.
Requisitos
Uma assinatura do Azure vinculada ao Servidor de DevOps do Azure (anteriormente Visual Studio Team Foundation Server) ou ao Azure Repos que usa o ponto de extremidade de serviço do Azure Resource Manager.
Uma fábrica de dados configurada com a integração do Azure Repos Git.
Um cofre de chaves do Azure que contém os segredos para cada ambiente.
Configurar uma versão do Azure Pipelines
No Azure DevOps, abra o projeto configurado com seu data factory.
No lado esquerdo da página, selecione Pipelines e, em seguida, selecione Releases.
Selecione Novo pipeline ou, se você tiver pipelines existentes, selecione Novo e, em seguida, Novo pipeline de versão.
Selecione o modelo de trabalho vazio.
Na caixa Nome do palco , digite o nome do seu ambiente.
Selecione Adicionar artefato e, em seguida, selecione o repositório git configurado com seu data factory de desenvolvimento. Selecione a ramificação de publicação do repositório para a ramificação Padrão. Por padrão, essa ramificação de publicação é
adf_publish
. Para a versão padrão, selecione Mais recente na ramificação padrão.Adicione uma tarefa de Implantação do Azure Resource Manager:
Na vista de palco, selecione Ver tarefas de palco.
Crie uma nova tarefa. Procure por Implantação de modelo ARM e selecione Adicionar.
Na tarefa Implantação, selecione a assinatura, o grupo de recursos e o local do data factory de destino. Forneça credenciais, se necessário.
Na lista Ação, selecione Criar ou atualizar grupo de recursos.
Selecione o botão de reticências (...) ao lado da caixa Modelo . Procure o modelo do Azure Resource Manager que é gerado em sua ramificação de publicação do repositório git configurado. Procure o <arquivo
ARMTemplateForFactory.json
na pasta FactoryName> da ramificação adf_publish. Para obter mais detalhes sobre como usar modelos ARM vinculados, consulte Implantando modelos ARM vinculados com VSTS e Usando modelos vinculados.Selecione ... ao lado da caixa Parâmetros do modelo para escolher o arquivo de parâmetros. Procure o >arquivo
ARMTemplateParametersForFactory.json
na pasta FactoryName< da ramificação adf_publish.Selecione ... ao lado da caixa Substituir parâmetros do modelo e insira os valores de parâmetro desejados para o data factory de destino. Para credenciais provenientes do Cofre da Chave do Azure, insira o nome do segredo entre aspas duplas. Por exemplo, se o nome do segredo for cred1, digite "$(cred1)" para esse valor.
Selecione Incremental para o modo de implantação.
Aviso
No modo de implantação Completa, os recursos que existem no grupo de recursos, mas não são especificados no novo modelo do Gerenciador de Recursos, serão excluídos. Para obter mais informações, consulte Modos de implantação do Azure Resource Manager
Salve o pipeline de liberação.
Para acionar uma versão, selecione Criar versão. Para automatizar a criação de versões, consulte Gatilhos de versão do Azure DevOps
Importante
Em cenários de CI/CD, o tipo de tempo de execução de integração (IR) em ambientes diferentes deve ser o mesmo. Por exemplo, se você tiver um IR auto-hospedado no ambiente de desenvolvimento, o mesmo IR também deve ser do tipo auto-hospedado em outros ambientes, como teste e produção. Da mesma forma, se você estiver compartilhando tempos de execução de integração em vários estágios, precisará configurá-los como auto-hospedados vinculados em todos os ambientes, como desenvolvimento, teste e produção.
Obter segredos do Azure Key Vault
Se você tiver segredos para passar em um modelo do Azure Resource Manager, recomendamos que use o Azure Key Vault com a versão Azure Pipelines.
Há duas maneiras de lidar com segredos:
Adicione os segredos ao arquivo de parâmetros. Para obter mais informações, consulte Usar o Cofre da Chave do Azure para passar o valor do parâmetro seguro durante a implantação.
Crie uma cópia do arquivo de parâmetros que é carregado na ramificação de publicação. Defina os valores dos parâmetros que você deseja obter do Cofre da Chave usando este formato:
{ "parameters": { "azureSqlReportingDbPassword": { "reference": { "keyVault": { "id": "/subscriptions/<subId>/resourceGroups/<resourcegroupId> /providers/Microsoft.KeyVault/vaults/<vault-name> " }, "secretName": " < secret - name > " } } } }
Quando você usa esse método, o segredo é extraído do cofre de chaves automaticamente.
O arquivo de parâmetros também precisa estar na ramificação de publicação.
Adicione uma tarefa do Cofre da Chave do Azure antes da tarefa de Implantação do Azure Resource Manager descrita na seção anterior:
Na guia Tarefas, crie uma nova tarefa. Procure o Azure Key Vault e adicione-o.
Na tarefa Cofre da chave, selecione a assinatura na qual você criou o cofre da chave. Forneça credenciais, se necessário, e selecione o cofre de chaves.
Conceder permissões ao agente do Azure Pipelines
A tarefa Cofre da Chave do Azure pode falhar com um erro de Acesso Negado se as permissões corretas não estiverem definidas. Baixe os logs da versão e localize o arquivo .ps1 que contém o comando para conceder permissões ao agente do Azure Pipelines. Você pode executar o comando diretamente. Ou você pode copiar a ID principal do arquivo e adicionar a política de acesso manualmente no portal do Azure. Get
e List
são as permissões mínimas necessárias.
Atualizando gatilhos ativos
Instale os módulos do Azure PowerShell mais recentes ao seguir as instruções em How to install and configure Azure PowerShell (Como instalar e configurar o Azure PowerShell).
Aviso
Se você não usar as versões mais recentes do PowerShell e do módulo Data Factory, poderá encontrar erros de desserialização ao executar os comandos.
A implantação pode falhar se você tentar atualizar gatilhos ativos. Para atualizar gatilhos ativos, você precisa pará-los manualmente e reiniciá-los após a implantação. Você pode fazer isso usando uma tarefa do Azure PowerShell:
Na guia Tarefas da versão, adicione uma tarefa do Azure PowerShell. Escolha a versão da tarefa a versão mais recente do Azure PowerShell.
Selecione a assinatura em que sua fábrica está.
Selecione Caminho do arquivo de script como o tipo de script. Isso requer que você salve o script do PowerShell em seu repositório. O seguinte script do PowerShell pode ser usado para interromper gatilhos:
$triggersADF = Get-AzDataFactoryV2Trigger -DataFactoryName $DataFactoryName -ResourceGroupName $ResourceGroupName $triggersADF | ForEach-Object { Stop-AzDataFactoryV2Trigger -ResourceGroupName $ResourceGroupName -DataFactoryName $DataFactoryName -Name $_.name -Force }
Você pode concluir etapas semelhantes (com a Start-AzDataFactoryV2Trigger
função) para reiniciar os gatilhos após a implantação.
A equipe do data factory forneceu um exemplo de script pré e pós-implantação.
Nota
Use o PrePostDeploymentScript.Ver2.ps1 se quiser desativar/ativar apenas os gatilhos que foram modificados em vez de desativar todos os gatilhos durante o CI/CD.
Aviso
Certifique-se de usar o PowerShell Core na tarefa ADO para executar o script
Conteúdos relacionados
- Visão geral da integração contínua e da entrega
- Promover manualmente um modelo do Resource Manager para cada ambiente
- Usar parâmetros personalizados com um modelo do Gerenciador de Recursos
- Modelos do Gerenciador de Recursos Vinculados
- Usando um ambiente de produção de hotfix
- Exemplo de script pré e pós-implantação