Controle de versão para fluxos personalizados¶
O Openflow oferece suporte a clientes de registro, incluindo o GitHub Registry Client, que permite usar um repositório Git para armazenar e versionar suas definições de fluxo personalizadas. Isso habilita o ciclo de vida de desenvolvimento de software padrão (SDLC), como ramificação, solicitações de pull, revisão de código e promoção de ambiente.
Um fluxo de trabalho comum é:
Manter uma ramificação
mainque representa suas definições de fluxo de produção.Criar ramificações de recursos para um novo desenvolvimento.
Desenvolver e confirmar alterações na tela do Openflow.
Abrir solicitações de pull, revisar com o Stream Diff e fazer a mesclagem.
Pré-requisitos¶
Um repositório GitHub para armazenar definições de fluxo.
Um token de acesso GitHub pessoal com acesso
repository.Um Openflow Runtime com acesso à tela do Openflow.
Privilégios correspondentes à função do Snowflake no objeto Runtime Integration.
Etapa 1: Criar um cliente de registro do GitHub¶
Crie um repositório no GitHub para armazenar suas definições de fluxo.
Gere um token de acesso pessoal (PAT) no GitHub com permissões para acessar o repositório.
Na tela do Openflow, navegue até Controller Settings e crie um novo cliente de registro.
Selecione GitHub Registry Client como o tipo.
Configure o cliente de registro com:
O URL do seu repositório GitHub.
O proprietário do repositório GitHub.
Seu token de acesso pessoal para autenticação.
Etapa 2: Criar e controlar a versão de um novo fluxo¶
Na tela Openflow, crie um novo grupo de processos para seu fluxo.
Crie seu fluxo: adicione processadores, configure conexões e defina seu pipeline de dados.
Clique com o botão direito do mouse no grupo de processos e selecione Start Version Control.
Escolha o cliente de registro do GitHub que você configurou na Etapa 1.
Defina um nome de fluxo e uma mensagem de confirmação inicial.
Depois de salvar, a definição do fluxo será confirmada no seu repositório GitHub. Você pode confirmar verificando o repositório no GitHub.
Etapa 3: Usar ramificações para gerenciar alterações¶
Criar uma ramificação de desenvolvimento¶
No repositório GitHub, crie uma nova ramificação (por exemplo,``dev`` ou uma ramificação de recurso como``feature/add-new-table``).
Importação e desenvolvimento na ramificação¶
Na tela do Openflow, importe o fluxo do registro doGitHub para um novo grupo de processos arrastando o ícone Import from Registry da barra de ferramentas para a tela.
Ao importar, selecione a ramificação de destino (por exemplo,
dev) para trabalhar.Faça suas alterações no fluxo dentro do grupo de processos.
Confirme suas alterações no Openflow. Isso envia a definição de fluxo atualizada para a ramificação selecionada no GitHub.
Revisão e mesclagem via solicitação pull¶
No GitHub, abra uma solicitação de pull de sua ramificação de desenvolvimento para
main.Revise as mudanças. Use a ação Snowflake Flow Diff do GitHub (consulte a Etapa 4) para que as diferenças fiquem legíveis por humanos.
Mescle a solicitação de pull após ela ter sido aprovada.
De volta à tela do Openflow, atualize o grupo de processos
mainpara extrair a versão mais recente da ramificaçãomain.
Etapa 4: Configurar o diferencial de fluxo do Snowflake (ação do GitHub)¶
Snowflake Flow Diff é uma ação do GitHub que torna as alterações de fluxo legíveis por humanos, renderizando uma diferença visual das alterações do pipeline diretamente em conversas de solicitação pull.
Configurar o arquivo de fluxo de trabalho¶
No repositório GitHub, crie o arquivo
.github/workflows/flowdiff.yml.Copie a configuração do fluxo de trabalho do repositório Snowflake Flow Diff (consulte a seção sobre uso em README).
Confirme e faça o push do arquivo de fluxo de trabalho.
Revisão das alterações no fluxo¶
Quando uma solicitação de pull é aberta, a ação Flow Diff é executada automaticamente.
Navegue até a guia Conversations na solicitação de pull e aguarde a análise Flow Diff ser mostrada.
A análise mostra uma comparação visual e legível das alterações de fluxo em vez de diferenças em JSON brutas.
Gerenciamento de parâmetros em todos os ambientes¶
O Openflow usa parâmetros para gerenciar valores específicos do ambiente (por exemplo, cadeias de conexão, credenciais, nomes de tabelas) em diferentes tempos de execução.
Tenha em mente os seguintes conceitos:
Os parâmetros são agrupados em um contexto de parâmetros, que é mapeado a um grupo de processos.
A herança de contextos de parâmetros permite definir parâmetros compartilhados em um contexto pai e substituir valores específicos em contextos secundários. Isso é útil para promover fluxos em ambientes de desenvolvimento, preparação e produção.
Os contextos de parâmetros podem ser integrados aos gerenciadores de segredos para lidar de modo seguro com credenciais confidenciais sem armazená-las na definição de fluxo.
Fluxo de trabalho SDLC recomendado¶
Ambiente de desenvolvimento: Os desenvolvedores criam ramificações de recursos, constroem ou modificam fluxos e confirmam alterações na tela do Openflow para a ramificação de recursos.
Revisão do código: Abra uma solicitação de pull noGitHub. Use o Snowflake Fluxo Diff para conseguir ler as revisões.
Mesclagem com o principal: Após a aprovação, mescle a solicitação pull na ramificação
main.Passar para produção: No tempo de execução de produção, atualize o grupo de processos para extrair a última versão de
main.Parametrização: Use contextos de parâmetros para lidar com configurações específicas do ambiente sem mudar a definição de fluxo em si.