Contrôle de version GitLab pour les workflows étiquetés par client - Workflow n8n

Automatisez un contrôle de version robuste pour vos actifs de workflow n8n critiques en utilisant GitLab. Ce modèle n8n dynamique organise les sauvegardes dans des dossiers spécifiques aux clients, suit les modifications et empêche les commits inutiles.

Aperçu du workflow

Prêt à automatiser ?

Téléchargez ce modèle de workflow n8n et commencez à l'utiliser instantanément.

À qui s'adresse cette solution ?


  • Développeurs en Automatisation : Nécessitant un contrôle de version fiable pour leurs conceptions complexes de workflows n8n.

  • Agences de Conseil : Exigeant des dossiers de sauvegarde séparés et auditable pour les différentes solutions client gérées au sein d'une seule instance n8n.

  • Ingénieurs DevOps : Cherchant à intégrer les stratégies de déploiement et de sauvegarde des modèles n8n dans les pipelines CI/CD existants.

  • Toute personne souhaitant une haute disponibilité et des pistes d'audit pour ses actifs n8n critiques.

Vue d'ensemble

Maintenir une piste d'audit et garantir la récupérabilité des solutions d'automatisation complexes est crucial. Ce workflow n8n avancé résout le problème de la gestion décentralisée des workflows en centralisant tous les actifs critiques de workflow n8n dans un dépôt GitLab structuré.

Il propose un filtrage intelligent — seuls les workflows étiquetés backup-workflows sont traités. De plus, il analyse le nom du workflow à la recherche d'une étiquette [customer: NAME] pour créer automatiquement des sous-répertoires spécifiques au client, garantissant que les modèles n8n liés aux clients sont soigneusement séparés.

En comparant le JSON du workflow n8n actuel avec la dernière version dans GitLab, il évite les commits excessifs, n'exécutant une mise à jour que si un changement fonctionnel est détecté, maintenant ainsi un historique Git propre et efficace. Cette approche garantit que vos sauvegardes n8n sont stables, organisées et facilement réimportables.

Fonctionnement

Le processus commence par un déclencheur n8n, soit une exécution manuelle, soit le Déclencheur Planifié quotidien à 03h
00.


  1. Initialisation : Le nœud n8n Définir les Variables GitLab Globales définit des paramètres tels que les détails du dépôt GitLab, la branche (main) et le filtre d'étiquette requis (backup-workflows).

  2. Récupération des Workflows : Le nœud n8n Récupérer les Workflows depuis n8n utilise l'API interne de n8n pour récupérer tous les workflows correspondant à l'étiquette spécifiée, minimisant ainsi le trafic API et le temps de traitement.

  3. Normalisation des Données : Pour chaque workflow récupéré, le nœud n8n de code Nettoyer & Normaliser le Nom du Workflow standardise le format [customer: NAME]. Le nœud n8n Préparer le JSON du Workflow pour Export Compatible UI nettoie ensuite le JSON pour s'assurer qu'il correspond à l'exportation standard de l'interface utilisateur, le rendant parfaitement adapté à une réimportation.

  4. Génération du Chemin : Le nœud n8n de code Préparer le Chemin de Fichier GitLab construit le chemin de stockage final en utilisant l'ID stable du workflow et le slug client extrait (par exemple, workflow_definitions/acme/workflowId.json).

  5. Détection de Changement : Le nœud n8n GitLab Récupérer le Fichier Existant depuis GitLab tente de récupérer la sauvegarde. Si cela échoue (nouveau workflow), le flux est redirigé vers Créer un Nouveau Fichier dans GitLab.

  6. Comparaison : Si le fichier existe, le nœud n8n Comparer le Workflow avec la Version GitLab effectue une comparaison stricte du contenu JSON. Si des changements sont détectés, le nœud n8n GitLab Mettre à Jour le Fichier Existant dans GitLab valide le changement. Si aucun changement n'est trouvé, le workflow est marqué comme inchangé.

  7. Rapport : Enfin, tous les chemins convergent via le nœud n8n Fusionner. Les sorties sont standardisées par le nœud n8n Normaliser la Sortie de Sauvegarde et résumées par le nœud n8n de code Synthétiser les Résultats de Sauvegarde, fournissant un récapitulatif final des workflows créés, mis à jour et inchangés.

Guide d'installation

Pour utiliser ce modèle n8n, suivez ces étapes :


  1. Importation : Copiez l'intégralité du code JSON et importez-le directement dans votre instance n8n en tant que nouveau workflow n8n.

  2. Informations d'identification : Vous aurez besoin de deux jeux d'identifiants :

API n8n : Configurez un identifiant d'API n8n interne pour permettre au workflow d'interroger votre liste de workflows existants (nécessaire pour le nœud n8n Récupérer les Workflows depuis n8n).
API GitLab : Configurez un identifiant GitLab avec les permissions api ou writerepository pour le dépôt cible. Cet identifiant sera utilisé par le nœud n8n GitLab.

  1. Configuration :

Localisez le nœud n8n Définir les Variables GitLab Globales.
Mettez à jour gitlab
owner, gitlabproject et gitlabbranch pour correspondre aux détails de votre dépôt GitLab.
* Assurez-vous que la valeur tag_backup (backup-workflows) est l'étiquette que vous utilisez pour marquer les modèles n8n critiques.

  1. Étiqueter les Workflows : Naviguez vers le workflow n8n souhaité et ajoutez l'étiquette backup-workflows (ou l'étiquette personnalisée définie à l'étape 3).

  2. Activation : Activez le workflow n8n pour permettre la sauvegarde quotidienne planifiée.

Détails du nœud


  • Déclencheur Planifié : Agit comme le déclencheur n8n principal, programmé pour s'exécuter tous les jours à 3h00 afin de minimiser les perturbations pendant les heures de pointe.

  • Définir les Variables GitLab Globales (Nœud Set) : Initialise les variables globales critiques utilisées tout au long du flux, y compris les détails du projet GitLab et le nom de l'étiquette de sauvegarde.

  • Récupérer les Workflows depuis n8n (Nœud n8n) : Récupère les données réelles du workflow en utilisant l'API interne de n8n, filtrées spécifiquement par l'étiquette backup-workflows.

  • Nettoyer & Normaliser le Nom du Workflow (Nœud Code) : Un nœud n8n spécialisé qui utilise des expressions régulières (regex) pour trouver et standardiser les étiquettes [customer: NAME], ce qui détermine la structure des dossiers dans GitLab.

  • Préparer le JSON du Workflow pour Export Compatible UI (Nœud Code) : Garantit que la sortie JSON de n8n est débarrassée des données d'exécution internes, ce qui donne un export propre correspondant au format téléchargé depuis l'interface utilisateur.

  • Préparer le Chemin de Fichier GitLab (Nœud Code) : Construit un chemin de fichier unique et stable basé sur l'ID du workflow et le slug client optionnel, évitant les problèmes si le nom du workflow change.

  • Récupérer le Fichier Existant depuis GitLab (Nœud GitLab) : Tente de récupérer la sauvegarde. Configurée de manière cruciale avec 'En cas d'erreur → Continuer' pour acheminer les nouveaux workflows (fichier non trouvé) vers le chemin de création.

  • Comparer le Workflow avec la Version GitLab (Nœud If) : Effectue une comparaison octet par octet du JSON sérialisé pour décider si une mise à jour est nécessaire, réduisant ainsi les commits Git redondants.

  • Mettre à Jour/Créer le Fichier dans GitLab (Nœud GitLab) : Exécute les opérations d'écriture nécessaires dans GitLab, créant un nouveau fichier ou mettant à jour un fichier existant avec des messages de commit détaillés reflétant le nom et le chemin du workflow n8n spécifique.

  • Synthétiser les Résultats de Sauvegarde (Nœud Code) : Le nœud n8n final qui agrège les résultats (créés, mis à jour, inchangés) pour le suivi et le rapport final.

Workflows n8n associés

Gratuit

Nœuds: 9 Nœuds
Mis à jour: Décembre 26 2025
Voir tout
Créé par
Omar Kennouche | AI Nexus One
Omar Kennouche | AI Nexus One

Automation & AI consultant. I design practical n8n workflows connecting APIs, business tools and AI—focused on saving time, reducing errors and enabling growth.

En vedette*