Sincronização Bidirecional para Controlo de Versão de Fluxos de Trabalho com o GitHub - Fluxo de trabalho n8n

Automatize a sincronização bidirecional dos seus fluxos de trabalho n8n com o GitHub para controlo de versão robusto, backup e desenvolvimento colaborativo usando este template avançado do n8n.

Prévia do Workflow

Pronto para automatizar?

Baixe este modelo de fluxo de trabalho n8n e comece a usá-lo instantaneamente.

Para quem é indicado?

Desenvolvedores de Automação que necessitam de controlo de versão fiável para a sua lógica complexa de fluxos de trabalho n8n.
Equipas que utilizam o n8n e que exigem ambientes sincronizados e acesso colaborativo aos templates do n8n.
Utilizadores que necessitam de backups robustos e agendados das configurações da sua instância n8n.
Utilizadores técnicos à procura de exemplos avançados de controlo de fluxo e interação via API dentro de um fluxo de trabalho n8n.

Visão Geral

Este fluxo de trabalho abrangente do n8n responde à necessidade crítica de controlo de versão e backup fiável de templates e automações cruciais do n8n. Desenvolvedores e utilizadores avançados do n8n frequentemente têm dificuldades em manter as suas definições de fluxo de trabalho locais sincronizadas com repositórios externos, dificultando a colaboração e a recuperação de desastres. Este template especializado do n8n utiliza uma abordagem bidirecional sofisticada: compara cada fluxo de trabalho local do n8n com o ficheiro correspondente no GitHub. Se um fluxo de trabalho existir apenas no n8n, ele é carregado (upload) para o GitHub. Se um fluxo de trabalho existir apenas no GitHub, ele é importado para o n8n. Mais importante ainda, resolve inteligentemente os conflitos de versão verificando os carimbos de data/hora (timestamps), garantindo que a versão mais recente (seja local ou remota) prevalece. Esta poderosa lógica de nós do n8n garante que os seus processos de automação estejam sempre versionados.

Como funciona


  1. O processo é iniciado por um gatilho do n8n, especificamente um Gatilho de Agendamento (Schedule Trigger), configurado para ser executado semanalmente (todas as segundas-feiras).

  2. O fluxo de trabalho utiliza primeiro o nó Set n8n para definir variáveis de configuração cruciais: credenciais do GitHub, o nome do repositório e o caminho da pasta específica onde os ficheiros JSON dos fluxos de trabalho do n8n estão armazenados.

  3. Dois ramos paralelos são iniciados: um utiliza o nó interno do n8n para obter metadados de todos os fluxos de trabalho locais ativos do n8n, e o outro utiliza o nó do GitHub do n8n para listar todos os ficheiros de fluxo de trabalho existentes no repositório.

  4. Os ficheiros obtidos do GitHub são então puxados individualmente e decodificados de base64 para um formato JSON adequado e utilizável.

  5. A peça central é o nó Compare Datasets do n8n, que compara a lista de fluxos de trabalho locais do n8n (Input A) com os ficheiros do GitHub decodificados (Input B) usando o ID do fluxo de trabalho como chave única, dividindo o fluxo em quatro caminhos: Apenas no n8n, Apenas no GitHub, Diferentes e Iguais.

  6. Novo Fluxo de Trabalho Local (Apenas no n8n): Os fluxos de trabalho existentes apenas localmente são convertidos para base64 e carregados para o GitHub usando o nó do GitHub do n8n, criando um novo ficheiro.

  7. Novo Fluxo de Trabalho Remoto (Apenas no GitHub): Os fluxos de trabalho existentes apenas no GitHub são importados para a instância do n8n usando a operação de nó especializada do n8n: Criar fluxo de trabalho (Create workflow).

  8. Conflito de Versão (Diferentes): Um nó If do n8n verifica o carimbo de data/hora updatedAt. Se a versão do GitHub for mais recente, a versão do GitHub é usada para atualizar o fluxo de trabalho local do n8n através do nó Update workflow do n8n. Se o fluxo de trabalho local do n8n for mais recente, ele é preparado, codificado e carregado para sobrescrever o ficheiro no GitHub, garantindo que as alterações mais recentes são guardadas. Esta poderosa capacidade de comparação de nós do n8n é fundamental para manter a sincronização.

Guia de Instalação


  1. Importar o fluxo de trabalho do n8n: Copie o JSON fornecido e importe-o diretamente para a sua instância do n8n.

  2. Credenciais do GitHub: Deve configurar uma credencial do GitHub que tenha acesso de leitura e escrita ao repositório de destino.

  3. Configurar o nó Set GitHub Details do n8n: Abra o nó "Set GitHub Details" do n8n e preencha os seguintes valores obrigatórios:

githubaccountname: O seu nome de utilizador ou nome de organização no GitHub.
githubreponame: O nome do repositório dedicado ao armazenamento dos templates do n8n.
* repoworkflowspath: O caminho do diretório dentro do repositório onde residem os fluxos de trabalho (ex: workflows/ ou n8n_backups/).

  1. Credenciais do n8n: Certifique-se de que configurou uma credencial de API do n8n ativa que permita ao fluxo de trabalho interagir com a instância local do n8n (listar, criar e atualizar fluxos de trabalho).

  2. Ativação: Assim que as credenciais e as definições forem aplicadas, ative o gatilho do n8n para iniciar a sincronização agendada.

Detalhes do Nó

Schedule Trigger (Gatilho do n8n): O gatilho principal do n8n que executa todo o processo de sincronização num horário semanal.
Set GitHub Details (Nó Set do n8n): Usado para injetar variáveis globais (caminho do repositório, nome da conta) necessárias para as operações subsequentes do nó do GitHub do n8n.
n8n (Nó do n8n): Usado de três formas principais: 1) Listar todos os fluxos de trabalho ativos do n8n. 2) Criar novos fluxos de trabalho encontrados apenas no GitHub. 3) Atualizar fluxos de trabalho existentes no n8n se a versão do GitHub for mais recente.
GitHub (Nó do n8n): Gere operações de ficheiros no repositório, incluindo listar conteúdos, obter ficheiros individuais, carregar novos ficheiros de fluxo de trabalho e editar ficheiros existentes.
Compare Datasets (Nó do n8n): O nó central de tomada de decisão do n8n. Compara os conjuntos de dados de fluxo de trabalho locais e remotos com base no ID para identificar templates de fluxo de trabalho novos, eliminados ou diferentes.
If n8n before GitHub (Nó If do n8n): Executa a lógica de resolução de conflitos, determinando qual versão do fluxo de trabalho do n8n é superior ao comparar os carimbos de data/hora (timestamps).


  • Convert to File / Extract From File (Nós do n8n): Essencial para preparar os dados do fluxo de trabalho JSON do n8n (por exemplo, quando um fluxo de trabalho local é mais recente), convertendo-o para binário e codificando-o em base64 para o upload via API do GitHub.

Fluxos de trabalho n8n relacionados

Grátis

Nós: 11 Nós
Atualizado: Dezembro 26 2025
Ver tudo
Criado por
Wikus Bergh
Wikus Bergh

Software/ML engineer - happily ambling on the path of learning

Apresentou*