Partilhar via


CI/CD com repositórios Git Databricks

As pastas Databricks Git podem ser usadas em seus fluxos de CI/CD. Ao configurar pastas Git Databricks no espaço de trabalho, você pode usar o controle do código-fonte para trabalhar em repositórios Git e integrá-los em seus fluxos de trabalho de engenharia de dados. Para obter uma visão geral mais abrangente do CI/CD com o Azure Databricks, consulte CI/CD no Azure Databricks.

Fluxos de utilização

A maior parte do trabalho no desenvolvimento de automação para pastas Git está na configuração inicial para suas pastas e na compreensão da API REST do Azure Databricks Repos que você usa para automatizar operações do Git a partir de trabalhos do Azure Databricks. Antes de começar a criar sua automação e configurar pastas, revise os repositórios Git remotos que você incorporará em seus fluxos de automação e selecione os corretos para os diferentes estágios de sua automação, incluindo desenvolvimento, integração, preparação e produção.

  • Fluxo administrativo: para fluxos de produção, um administrador de espaço de trabalho do Azure Databricks configura pastas de nível superior em seu espaço de trabalho para hospedar as pastas git de produção. O administrador clona um repositório Git e uma ramificação ao criá-los, e pode dar a essas pastas nomes significativos, como "Produção", "Teste" ou "Preparo", que correspondem ao propósito dos repositórios Git remotos em seus fluxos de desenvolvimento. Para obter mais detalhes, consulte Pasta Git de produção.
  • Fluxo de usuários: um utilizador pode criar uma pasta Git com base em um repositório Git remoto em /Workspace/Users/<email>/. Um utilizador cria um ramo local específico para o trabalho que irá confirmar e enviar para o repositório remoto. Para obter informações sobre como colaborar em pastas Git específicas do usuário, consulte Colaborar usando pastas Git.
  • Fluxo de mesclagem: Os usuários podem criar pull requests (PRs) depois de fazer push de uma pasta Git. Quando o PR é fundido, a automação pode integrar as alterações nas pastas de produção do Git usando a API de Repos do Azure Databricks.

Colabore usando pastas Git

Você pode colaborar facilmente com outras pessoas usando pastas Git, recebendo atualizações e enviando alterações diretamente da interface do usuário do Azure Databricks. Por exemplo, use um recurso ou ramificação de desenvolvimento para agregar alterações feitas em várias ramificações.

O fluxo a seguir descreve como colaborar usando uma ramificação de recurso:

  1. Clone o seu repositório Git existente para o seu espaço de trabalho Databricks.
  2. Use a interface de pastas do Git para criar uma ramificação de recurso a partir da ramificação principal. Você pode criar e usar várias ramificações de funcionalidades para fazer o seu trabalho.
  3. Faça suas modificações em blocos de anotações do Azure Databricks e outros arquivos no repositório.
  4. Confirme e envie suas alterações para o repositório Git remoto.
  5. Os colaboradores agora podem clonar o repositório Git em sua própria pasta de usuário.
    1. Trabalhando em uma nova ramificação, um colega de trabalho faz alterações nos blocos de anotações e outros arquivos na pasta Git.
    2. O colaborador confirma e envia suas alterações para o repositório Git remoto.
  6. Quando você ou outros colaboradores estiverem prontos para mesclar seu código, crie um PR no site do provedor Git. Reveja o seu código com a sua equipa antes de integrar as alterações no ramo de implantação.

Observação

A Databricks recomenda que cada desenvolvedor trabalhe em sua própria filial. Para obter informações sobre como resolver conflitos de mesclagem, consulte Resolver conflitos de mesclagem.

Escolha uma abordagem CI/CD

A Databricks recomenda o uso do Databricks Asset Bundles para empacotar e implantar seus fluxos de trabalho de CI/CD. Se preferir implantar apenas o código controlado pelo código-fonte no espaço de trabalho, você pode configurar uma pasta Git de produção. Para obter uma visão geral mais abrangente do CI/CD com o Azure Databricks, consulte CI/CD no Azure Databricks.

Sugestão

Defina recursos como trabalhos e pipelines em arquivos de origem usando bundles e, em seguida, crie, implante e gerencie bundles em pastas Git do espaço de trabalho. Veja Colaborar em pacotes no espaço de trabalho.

Pasta de produção Git

As pastas Git de produção têm uma finalidade diferente das pastas Git de nível de usuário localizadas na pasta do usuário em /Workspace/Users/. As pastas Git no nível do usuário atuam como checkouts locais, onde os usuários desenvolvem e enviam alterações de código. Em contraste, as pastas Git de produção são criadas por administradores do Databricks fora das pastas do usuário e contêm ramificações de implantação de produção. As pastas Git de produção contêm o código fonte para fluxos de trabalho automatizados e só devem ser atualizadas de forma automática quando os pull requests (PRs) são integrados nas ramificações de implantação. Para pastas de produção no Git, limite o acesso do utilizador somente para execução e permita que apenas os administradores e os principais de serviço do Azure Databricks façam edições.

Diretórios de produção do Git associados ao branch principal em um repositório remoto.

Para criar uma pasta de produção Git:

  1. Escolha um repositório Git e uma ramificação para implantação.

  2. Obtenha um principal de serviço e configure uma credencial Git para que o principal de serviço aceda a este repositório Git.

  3. Crie uma pasta Git do Azure Databricks para o repositório Git e ramificação numa subpasta sob Workspace, dedicada a um projeto, ao estágio de desenvolvimento e à equipa.

  4. Selecione Compartilhar depois de selecionar a pasta ou Compartilhar (Permissões) clicando com o botão direito do mouse na pasta na árvore Espaço de trabalho . Configure a pasta Git com as seguintes permissões:

    • Definir Pode Executar para qualquer usuário do projeto
    • Defina Can Run para qualquer conta principal de serviço do Azure Databricks que executará a automação para o serviço.
    • Se apropriado para seu projeto, defina Pode Exibir para todos os usuários no espaço de trabalho para incentivar a descoberta e o compartilhamento.

    A janela de diálogo modal da pasta Sharing Git.

  5. Selecione Adicionar.

  6. Configure atualizações automatizadas para pastas Databricks Git. Você pode usar a automação para manter uma pasta Git de produção sincronizada com a ramificação remota seguindo um destes procedimentos:

    • Use ferramentas externas de CI/CD, como GitHub Actions, para extrair os commits mais recentes para uma pasta Git de produção quando um pedido de pull for mesclado na ramificação de implantação. Para obter um exemplo de Ações do Github, consulte Executar um fluxo de trabalho de CI/CD que atualiza uma pasta do Git de produção.
    • Se você não puder acessar ferramentas externas de CI/CD, crie um trabalho agendado para atualizar uma pasta Git em seu espaço de trabalho com a ramificação remota. Agende um bloco de anotações simples com o seguinte código para ser executado periodicamente:
    from databricks.sdk import WorkspaceClient
    w = WorkspaceClient()
    w.repos.update(w.workspace.get_status(path=”<git-folder-workspace-full-path>”).object_id, branch=”<branch-name>”)
    

Para obter mais informações sobre automação com a API do Azure Databricks Repos, consulte a documentação da API REST do Databricks para Repos.