차이점 확인을 통한 GitHub 자동 워크플로우 백업 - n8n 워크플로우

이 강력한 n8n 워크플로우를 사용하여 모든 n8n 워크플로우를 GitHub에 자동으로 백업하고 버전 관리 및 이력을 확보하세요. 동적 경로 지정 및 효율적인 차이점 확인 기능이 포함되어 있습니다.

워크플로우 미리보기

자동화할 준비가 되셨나요?

이 n8n 워크플로우 템플릿을 다운로드하고 즉시 사용을 시작하세요.

추천 대상

모든 운영(Production) n8n 워크플로우 구성에 대한 안정적인 버전 관리가 필요한 n8n 관리자 및 DevOps 팀.
자가 호출 재귀 워크플로우를 활용하는 고급 n8n 템플릿을 찾는 사용자.


  • n8n 인스턴스를 위한 중앙 집중식 자동 백업 솔루션이 필요한 개발자.

개요

이는 운영 환경에서 n8n을 사용하는 조직을 위해 설계된 핵심 유지보수 n8n 워크플로우 솔루션입니다. 모든 n8n 워크플로우 파일(ID.json)에 대한 강력하고 버전이 관리되는 GitHub 백업을 제공하여 워크플로우 손실 및 구성 드리프트 문제를 해결합니다. 이 시스템은 정교한 재귀 n8n 노드 접근 방식을 사용하여 현재 실행 중인 워크플로우 상태와 저장소에 저장된 버전을 반복적으로 가져와 비교합니다.

이 n8n 워크플로우의 주요 이점은 효율성입니다. 전용 Code n8n 노드 내에서 사용자 지정 비교 로직을 사용하여 실제 기능적 차이가 감지된 경우에만 GitHub API와 통신하여 업데이트를 수행합니다. 이는 불필요한 API 호출을 최소화하고 저장소 이력이 깔끔하고 의미 있도록 보장합니다. 이 n8n 워크플로우를 기반으로 사용하면 자동화 로직이 일관되게 백업되고 추적되도록 보장할 수 있습니다.

작동 방식

프로세스는 '실행' 클릭 시 n8n 트리거를 수동으로 사용하거나, 스케줄 트리거 n8n 노드를 통해 자동으로 시작됩니다 (일반적으로 오전 7시로 설정).


  1. 워크플로우 검색: n8n n8n 노드는 현재 인스턴스에 게시된 모든 워크플로우의 전체 목록을 검색합니다.

  2. 재귀적 반복: 항목 반복 n8n 노드와 후속 워크플로우 실행 n8n 노드는 자체 호출되는 재귀 루프를 설정합니다. 이 패턴은 각 항목을 하위 워크플로우 호출로 처리하여 수백 개의 워크플로우를 효율적으로 처리하기 위해 구현되었습니다.

  3. 컨텍스트 및 전역 변수: 하위 워크플로우 내에서 전역 변수 n8n 노드는 대상 GitHub 매개변수(소유자, 저장소 이름, 그리고 선행 tag?/ n8n 노드에서 처리되는 워크플로우 태그를 기반으로 한 동적 경로)를 정의합니다.

  4. 기존 백업 확인: 파일 데이터 가져오기 GitHub n8n 노드는 저장소에서 기존 JSON 파일을 가져오려고 시도합니다. 중요하게도 파일이 새로운 경우 실패하더라도 계속 진행되도록 설정되어 있습니다. 파일이 너무 커서 직접 검색이 불가능하면, 파일이 너무 큼 경로가 해당 항목을 파일 가져오기 (HTTP 요청)로 보내 제공된 URL을 통해 내용을 다운로드합니다.

  5. 차이 분석: 항목 병합 노드는 워크플로우 데이터와 GitHub 파일 데이터를 결합합니다. 그런 다음 isDiffOrNew Code n8n 노드가 기존 파일 내용을 디코딩하고(있는 경우), 새롭거나 기존 JSON 객체의 키 순서를 지정한 다음 문자열화된 객체를 비교하여 의미 있는 변경이 발생했는지 확인하고 상태를 "same"(같음), "different"(다름), 또는 "new"(새로움)로 할당합니다.

  6. 작업 실행: 상태 확인 스위치 n8n 노드는 결정된 상태에 따라 흐름을 지시합니다. 상태가 "new"이면 새 파일 생성 GitHub n8n 노드가 실행됩니다. 상태가 "different"이면 기존 파일 편집 GitHub n8n 노드가 콘텐츠를 업데이트합니다. 상태가 "same"이면 n8n 워크플로우는 아무 작업 없이 항목을 완료합니다.

설치 가이드

이 강력한 n8n 워크플로우를 배포하려면 다음 단계를 따르십시오:


  1. 가져오기: 이 n8n 워크플로우 JSON을 n8n 인스턴스로 가져옵니다.*

  2. 자격 증명: 파일 데이터 가져오기, 새 파일 생성, 기존 파일 편집 n8n 노드에서 GitHub API 자격 증명을 설정하거나 선택합니다. 자격 증명 토큰이 저장소 읽기/쓰기 액세스 권한을 가지고 있는지 확인하십시오.

  3. API 자격 증명: 기본 n8n 노드에서 n8n API 자격 증명을 설정하여 인스턴스의 워크플로우 목록을 확인할 수 있도록 합니다.

  4. 구성: 전역 변수 n8n 노드를 열고 할당(Assignments) 탭에서 매개변수를 업데이트합니다:

repo.owner: GitHub 사용자 이름/조직 이름.*
repo.name: 백업에 사용할 저장소 이름.*
repo.path: 원하는 하위 디렉터리 경로 (예: workflows/). 동적 태깅 기능을 사용하려면 기존 표현식을 유지합니다. **

  1. 실행: 수동 트리거 n8n 노드를 통해 수동으로 워크플로우를 실행하거나 구성된 스케줄 트리거 n8n 트리거를 사용하여 일일 자동화를 신뢰할 수 있습니다.

노드 상세 정보

이 n8n 워크플로우는 목표 달성을 위해 여러 주요 노드를 활용합니다:

스케줄 트리거 / 수동 트리거 (n8n 트리거): 백업 프로세스를 시작하여 예약 실행 또는 임시 실행에 유연성을 제공합니다.
n8n (n8n 노드): n8n 인스턴스에서 모든 워크플로우 목록을 검색하여 기본 루프의 입력 데이터를 제공합니다.*
워크플로우 실행 (n8n 노드): 메모리 과부하 없이 모든 워크플로우를 효율적으로 반복 처리할 수 있도록 하는 재귀적 하위 워크플로우 패턴에 필수적입니다.*
전역 변수 (Set n8n 노드): n8n 워크플로우 활성화 전에 편집해야 하는 중요 구성 변수(GitHub 저장소 세부 정보)를 보관합니다.*
파일 데이터 가져오기 (GitHub n8n 노드): 비교 단계를 위해 GitHub에서 기존 워크플로우 백업 파일을 검색하려고 시도합니다. 실패 시 계속 진행되도록 구성되어 있습니다.*
파일이 너무 큼 (If n8n 노드) & 파일 가져오기 (HTTP 요청 n8n 노드): GitHub가 콘텐츠 대신 다운로드 URL을 반환하는 경우를 처리하여 대용량 워크플로우 파일을 성공적으로 검색하도록 보장합니다.*
isDiffOrNew (Code n8n 노드): 핵심 사용자 지정 스크립팅 로직을 포함합니다. 이 n8n 노드는 base64 콘텐츠를 디코딩하고, JSON 키 순서를 지정하며, 문자열화된 객체를 비교하여 의미 있는 변경이 발생했는지 확인하고 githubstatus 속성을 설정합니다.*
상태 확인 (Switch n8n 노드): Code n8n 노드에 의해 계산된 github
status(new, different 또는 same)를 기반으로 흐름을 지시합니다.*
새 파일 생성 / 기존 파일 편집 (GitHub n8n 노드): 적절한 작업(operation)을 기반으로 현재 n8n 워크플로우 JSON 데이터를 저장소에 커밋하는 데 필요한 API 작업을 수행합니다.

관련 n8n 워크플로우

무료

노드: 15 노드
업데이트됨: 12월 26 2025
모두 보기
작성자

추천*