Sincronización bidireccional para el control de versiones de flujos de trabajo con GitHub - Flujo de trabajo de n8n

Automatiza la sincronización bidireccional de tus flujos de trabajo de n8n con GitHub para un control de versiones robusto, copias de seguridad y desarrollo colaborativo usando esta plantilla avanzada de n8n.

Vista previa del flujo

¿Listo para automatizar?

Descarga esta plantilla de flujo de trabajo de n8n y comienza a usarla al instante.

¿Para quién es ideal?

Desarrolladores de automatización que necesitan un control de versiones fiable para su lógica compleja de flujos de trabajo de n8n.
Equipos que usan n8n y requieren entornos sincronizados y acceso colaborativo a las plantillas de n8n.
Usuarios que necesitan copias de seguridad programadas y robustas de las configuraciones de su instancia de n8n.
Usuarios técnicos que buscan ejemplos avanzados de control de flujo e interacción con la API dentro de un flujo de trabajo de n8n.

Descripción general

Este completo flujo de trabajo de n8n aborda la necesidad crítica de control de versiones y copias de seguridad fiables de plantillas y automatizaciones cruciales de n8n. Los desarrolladores y usuarios avanzados de n8n tienen dificultades para mantener sincronizadas sus definiciones de flujos de trabajo locales de n8n con repositorios externos, lo que dificulta la colaboración y la recuperación ante desastres. Esta plantilla especializada de n8n utiliza un enfoque bidireccional sofisticado: compara cada flujo de trabajo local de n8n con su archivo correspondiente en GitHub. Si un flujo solo existe en n8n, lo sube a GitHub. Si un flujo solo existe en GitHub, lo importa a n8n. Lo más importante es que resuelve inteligentemente los conflictos de versión comprobando las marcas de tiempo (timestamps), asegurando que prevalezca la versión más reciente (ya sea local o remota). Esta potente capacidad de comparación de nodos n8n garantiza que tus procesos de automatización siempre tengan control de versiones.

Cómo funciona


  1. El proceso se inicia mediante un disparador (trigger) de n8n, concretamente un Disparador de Programación (Schedule Trigger), configurado para ejecutarse semanalmente (todos los lunes).

  2. El flujo de trabajo utiliza primero el nodo Set n8n para definir variables de configuración cruciales: credenciales de GitHub, el nombre del repositorio y la ruta de carpeta específica donde se almacenan los archivos JSON de los flujos de trabajo de n8n.

  3. Se inician dos ramas paralelas: una utiliza el nodo interno de n8n para recuperar metadatos de todos los flujos de trabajo locales activos de n8n, y la otra utiliza el nodo de n8n de GitHub para listar todos los archivos de flujo existentes en el repositorio.

  4. Los archivos recuperados de GitHub se obtienen individualmente y se decodifican desde base64 a un formato JSON adecuado y utilizable.

  5. La pieza central es el nodo n8n Comparar Conjuntos de Datos (Compare Datasets), que compara la lista de flujos de trabajo locales de n8n (Entrada A) con los archivos de GitHub decodificados (Entrada B) usando el ID del flujo como clave única, dividiendo el flujo en cuatro caminos: Solo en n8n, Solo en GitHub, Diferentes y Mismo.

  6. Nuevo Flujo Local (Solo en n8n): Los flujos que solo existen localmente se convierten a base64 y se suben a GitHub usando el nodo n8n de GitHub, creando un nuevo archivo.

  7. Nuevo Flujo Remoto (Solo en GitHub): Los flujos que solo existen en GitHub se importan a la instancia de n8n mediante la operación especializada del nodo n8n: Crear flujo (Create workflow).

  8. Conflicto de Versión (Diferentes): Un nodo If n8n comprueba la marca de tiempo updatedAt. Si la versión de GitHub es más reciente, se utiliza la versión de GitHub para actualizar el flujo de trabajo local de n8n mediante el nodo Actualizar flujo (Update workflow) de n8n. Si el flujo de trabajo local de n8n es más reciente, se prepara, codifica y se sube para sobrescribir el archivo en GitHub, asegurando que se guarden los últimos cambios. Esta potente capacidad de comparación de nodos n8n es clave para mantener la sincronización.

Guía de instalación


  1. Importar el flujo de trabajo de n8n: Copia el JSON proporcionado e impórtalo directamente en tu instancia de n8n.

  2. Credenciales de GitHub: Debes configurar una credencial de GitHub que tenga permisos de lectura y escritura en el repositorio de destino.

  3. Nodo n8n Configurar Detalles de GitHub (Set GitHub Details): Abre el nodo n8n "Set GitHub Details" y rellena los siguientes valores requeridos:

githubaccountname: Tu nombre de usuario u organización de GitHub.
githubreponame: El nombre del repositorio dedicado a almacenar las plantillas de n8n.
* repoworkflowspath: La ruta del directorio dentro del repositorio donde residen los archivos JSON de los flujos de trabajo (ej. workflows/ o n8n_backups/).

  1. Credenciales de n8n: Asegúrate de haber configurado una credencial de API de n8n activa que permita al flujo de trabajo interactuar con la instancia local de n8n (listar, crear y actualizar flujos de trabajo).

  2. Activación: Una vez aplicadas las credenciales y configuraciones, activa el disparador de n8n para comenzar la sincronización programada.

Detalles del nodo

Disparador de Programación (Schedule Trigger - disparador de n8n): El disparador principal de n8n que ejecuta todo el proceso de sincronización en una base semanal.
Configurar Detalles de GitHub (Set n8n node): Se utiliza para inyectar variables globales (ruta del repositorio, nombre de cuenta) necesarias para las operaciones subsiguientes del nodo de n8n de GitHub.
n8n (nodo n8n): Se utiliza de tres maneras clave: 1) Listar todos los flujos de trabajo activos de n8n. 2) Crear nuevos flujos encontrados solo en GitHub. 3) Actualizar flujos existentes en n8n si la versión de GitHub es más reciente.
GitHub (nodo n8n): Gestiona las operaciones de archivos en el repositorio, incluyendo listar contenidos, obtener archivos individuales, subir nuevos archivos de flujo de trabajo y editar archivos existentes.
Comparar Conjuntos de Datos (Compare Datasets - nodo n8n): El nodo n8n central para la toma de decisiones. Compara los conjuntos de datos de flujos locales y remotos basándose en el ID para identificar plantillas de n8n nuevas, eliminadas o diferentes.
Si n8n antes de GitHub (If n8n node): Ejecuta la lógica de resolución de conflictos, determinando qué versión del flujo de trabajo de n8n es superior comparando las marcas de tiempo.


  • Convertir a Archivo / Extraer de Archivo (nodos n8n): Esencial para preparar los datos JSON del flujo de trabajo de n8n (por ejemplo, cuando un flujo local es más nuevo) convirtiéndolo a binario y codificándolo en base64 para la subida a la API de GitHub.

Flujos de trabajo de n8n relacionados

Gratis

Nodos: 11 Nodos
Actualizado: Diciembre 26 2025
Ver todo
Creado por
Wikus Bergh
Wikus Bergh

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

Presentado*