Pular para o conteúdo principal

CI/CD com pastas Git do Databricks

Utilize as pastas Git Databricks em seus fluxos de CI/CD para manter o trabalho sob controle de versão e integrá-lo ao seu fluxo de trabalho de engenharia de dados. Para uma visão geral mais ampla de CI/CD com Databricks, consulte CI/CD no Databricks.

Fluxos de uso

A automação para pastas Git centra-se na configuração inicial da pasta e na API REST Databricks APIREST Repos operações Git a partir de um Job Databricks . Antes de criar a automação:

  • Analise os repositórios Git remotos que você utilizará.
  • Escolha os repositórios e branches adequados para cada etapa (desenvolvimento, integração, teste, produção).

Existem três fluxos principais:

  • Fluxo de administração : Um administrador workspace Databricks cria pastas de nível superior para hospedar pastas Git de produção. O administrador clona um repositório e um branch ao criar cada pasta e pode nomeá-las de acordo com a finalidade (por exemplo, "Produção", "Teste" ou "Staging"). Consulte Criar uma pasta Git de produção.
  • Fluxo do usuário : Um usuário cria uma pasta Git em /Workspace/Users/<email>/ a partir de um repositório remoto, trabalha em um branch específico do usuário e envia o commit para o remoto. Consulte Colaborar usando pastas Git.
  • Fluxo de mesclagem : Depois de enviar alterações de uma pasta Git , os usuários abrem solicitações de pull (PRs). Quando uma solicitação de pull PR é mesclada, a automação pode puxar as alterações para as pastas Git de produção usando a API Repos Databricks .

Colaborar usando pastas Git

Colabore com outras pessoas enviando e recebendo alterações da interface do usuário do Databricks. Um padrão comum é usar um recurso ou um branch de desenvolvimento para agregar o trabalho.

Para colaborar em uma ramificação de recurso:

  1. Clone o repositório Git existente para o Databricks workspace .
  2. Na interface de pastas do Git, crie uma branch de recurso a partir da branch principal. Você pode usar várias ramificações de recurso conforme necessário.
  3. Edite o Notebook Databricks e outros arquivos no repo.
  4. Confirme e envie suas alterações para o repositório remoto.
  5. Outros colaboradores podem clonar o repo para sua própria pasta de usuário. Eles trabalham em uma ramificação, alteram o Notebook e os arquivos na pasta Git , depois commit e o push para o repositório remoto.
  6. Quando estiver tudo pronto, crie um PR (Pull Request) no seu provedor Git, revise com sua equipe e faça o merge na branch de deploy.
nota

A Databricks recomenda que cada desenvolvedor trabalhe em sua própria ramificação. Para resolver conflitos merge , consulte Resolver conflitos merge.

Escolha uma abordagem de CI/CD

Databricks recomenda Databricks ativo Bundles para pacote e fluxo de trabalho CI/CD implantado. Se preferir implantar apenas o código no workspace, você pode usar uma pasta Git de produção. Para uma visão geral mais abrangente de CI/CD, consulte CI/CD no Databricks.

dica

Defina recursos como Jobs e pipelines na origem usando bundles e, em seguida, crie, implante e gerencie-os em pastas Git workspace . Consulte Colaborar em pacotes no workspace.

Crie uma pasta Git de produção.

As pastas Git de produção são diferentes das pastas Git de nível de usuário em /Workspace/Users/. Pastas de nível de usuário são locais onde os usuários desenvolvem e enviam alterações. As pastas Git de produção são criadas por administradores fora das pastas de usuário, contêm branches de implantação e são a fonte para o fluxo de trabalho automatizado. Eles devem ser atualizados apenas por automação quando os PRs forem mesclados nos branches de implantação. Restrinja o acesso às pastas Git de produção, permitindo apenas a execução (run-with-access) para a maioria dos usuários. Permitir que apenas administradores e entidade de serviço Databricks os editem.

Pastas de produção do Git mapeadas para o branch principal em um repositório remoto.

Para criar uma pasta Git de produção:

  1. Selecione o repositório Git e o branch para implantação.

  2. Crie ou utilize uma entidade de serviço e configure uma credencial Git para que ela possa acessar esse repositório.

  3. Crie uma pasta Git Databricks para o repo e um branch em uma subpasta dentro do espaço de trabalho (por exemplo, por projeto, equipe ou etapa).

  4. Selecione a pasta e, em seguida, Compartilhe (ou clique com o botão direito do mouse em Compartilhar (Permissões) na árvore do espaço de trabalho).

  5. Atribuir níveis de permissão:

    • Pode execução para usuários do projeto que necessitam de execução de fluxo de trabalho.
    • Pode ser executado para qualquer entidade de serviço Databricks que execute automação nesta pasta.
    • Opcionalmente, pode ser visualizado por todos os usuários workspace para facilitar a descoberta e o compartilhamento.

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

  6. Clique em Adicionar .

  7. Mantenha a pasta Git de produção sincronizada com o branch remoto usando uma destas opções:

    • CI/CDexterno : Utilize ferramentas como o GitHub Actions para obter o commit mais recente quando um PR for mesclado na branch de implantação. Por exemplo, veja execução de um fluxo de trabalho CI/CD que atualiza uma pasta Git.
    • Tarefa agendada : Se CI/CD externo não estiver disponível, execute uma tarefa agendada que atualize a pasta Git . Use um Notebook simples que executa em um programar:
    Python
    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 como automatizar com a API Repos , consulte a documentação API REST Databricks para Repos.