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:
- Clone o repositório Git existente para o Databricks workspace .
- 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.
- Edite o Notebook Databricks e outros arquivos no repo.
- Confirme e envie suas alterações para o repositório remoto.
- 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.
- 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.
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.
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.

Para criar uma pasta Git de produção:
-
Selecione o repositório Git e o branch para implantação.
-
Crie ou utilize uma entidade de serviço e configure uma credencial Git para que ela possa acessar esse repositório.
-
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).
-
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).
-
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.

-
Clique em Adicionar .
-
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:
Pythonfrom 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.