GitHub를 이용한 워크플로우 버전 관리를 위한 양방향 동기화 - n8n 워크플로우

이 고급 n8n 템플릿을 사용하여 n8n 워크플로우와 GitHub 간의 양방향 동기화를 자동화하고, 강력한 버전 관리, 백업 및 공동 개발 환경을 구축하세요.

워크플로우 미리보기

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

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

추천 대상

복잡한 n8n 워크플로우 로직에 대한 안정적인 버전 관리가 필요한 자동화 개발자
n8n 템플릿에 대한 동기화된 환경 및 공동 접근 권한이 필요한 n8n 사용 팀
n8n 인스턴스 구성에 대한 강력하고 예약된 백업이 필요한 사용자
n8n 워크플로우 내에서 고급 플로우 제어 및 API 상호 작용 예시를 찾는 기술 사용자

개요

이 포괄적인 n8n 워크플로우는 중요한 n8n 템플릿 및 자동화에 대한 버전 관리와 신뢰할 수 있는 백업의 필수 요구 사항을 해결합니다. 개발자와 고급 n8n 사용자는 로컬 n8n 워크플로우 정의를 외부 저장소와 동기화하는 데 어려움을 겪는 경우가 많으며, 이는 협업과 재해 복구를 어렵게 만듭니다. 이 특수 n8n 템플릿은 정교한 양방향 접근 방식을 사용합니다. 로컬 n8n 워크플로우 각각을 GitHub의 해당 파일과 비교합니다. 워크플로우가 n8n에만 존재하는 경우 GitHub로 업로드합니다. 워크플로우가 GitHub에만 존재하는 경우 n8n으로 가져옵니다. 가장 중요한 것은, 타임스탬프를 확인하여 버전 충돌을 지능적으로 해결함으로써 최신 버전(로컬이든 원격이든)이 우선하도록 보장합니다. 이 강력한 n8n 노드 비교 기능은 자동화 프로세스의 버전 관리가 항상 유지되도록 보장합니다.

작동 방식


  1. 프로세스는 n8n 트리거, 특히 매주(매주 월요일) 실행되도록 설정된 스케줄 트리거(Schedule Trigger)에 의해 시작됩니다.

  2. 워크플로우는 먼저 Set n8n 노드를 사용하여 중요한 구성 변수(GitHub 인증 정보, 저장소 이름 및 n8n 워크플로우 JSON 파일이 저장되는 특정 폴더 경로)를 정의합니다.

  3. 두 개의 병렬 분기가 시작됩니다. 하나는 내부 n8n 노드를 사용하여 모든 활성 로컬 n8n 워크플로우의 메타데이터를 검색하고, 다른 하나는 GitHub n8n 노드를 사용하여 저장소에 존재하는 모든 워크플로우 파일을 나열합니다.

  4. GitHub에서 검색된 파일들은 개별적으로 가져와 base64에서 디코딩하여 적절하고 사용 가능한 JSON 형식으로 변환됩니다.

  5. 핵심 부분은 Compare Datasets n8n 노드로, 워크플로우 ID를 고유 키로 사용하여 로컬 n8n 워크플로우 목록(입력 A)을 디코딩된 GitHub 파일(입력 B)과 비교하고, 흐름을 'n8n에만 있음', 'GitHub에만 있음', '다름', '같음'의 네 가지 경로로 분할합니다.

  6. 새 로컬 워크플로우 (n8n에만 있음): 로컬에만 존재하는 워크플로우는 base64로 변환되어 GitHub n8n 노드를 사용하여 GitHub에 업로드되며 새 파일이 생성됩니다.

  7. 새 원격 워크플로우 (GitHub에만 있음): GitHub에만 존재하는 워크플로우는 특수 n8n 노드 작업인 '워크플로우 생성(Create workflow)'을 사용하여 n8n 인스턴스로 가져옵니다.

  8. 버전 충돌 (다름): If n8n 노드가 updatedAt 타임스탬프를 확인합니다. GitHub 버전이 더 최신인 경우, Update workflow n8n 노드를 통해 GitHub 버전을 사용하여 로컬 n8n 워크플로우를 업데이트합니다. 로컬 n8n 워크플로우가 더 최신인 경우, 준비 및 인코딩 과정을 거쳐 GitHub의 파일을 덮어쓰도록 업로드되어 최신 변경 사항이 저장되도록 보장합니다. 이 강력한 n8n 노드 비교 기능은 동기화를 유지하는 데 핵심입니다.

설치 가이드


  1. n8n 워크플로우 가져오기: 제공된 JSON을 복사하여 n8n 인스턴스에 직접 가져옵니다.

  2. GitHub 인증 정보: 대상 저장소에 대한 읽기 및 쓰기 액세스 권한을 가진 GitHub 인증 정보를 구성해야 합니다.

  3. Set GitHub Details n8n 노드: "Set GitHub Details" n8n 노드를 열고 다음 필수 값을 채웁니다:

githubaccountname: 귀하의 GitHub 사용자 이름 또는 조직 이름.
githubreponame: n8n 템플릿 저장 전용 저장소 이름.
* repoworkflowspath: 저장소 내에서 워크플로우가 상주하는 디렉터리 경로 (예: workflows/ 또는 n8n_backups/).

  1. n8n 인증 정보: 워크플로우가 로컬 n8n 인스턴스(목록화, 생성 및 워크플로우 업데이트)와 상호 작용할 수 있도록 활성 n8n API 인증 정보를 구성했는지 확인하십시오.

  2. 활성화: 인증 정보 및 설정이 적용되면 n8n 트리거를 활성화하여 예약된 동기화를 시작합니다.

노드 상세 정보

스케줄 트리거 (n8n trigger): 전체 동기화 프로세스를 주간 일정에 따라 실행하는 주요 n8n 트리거입니다.
Set GitHub Details (Set n8n node): 후속 GitHub n8n 노드 작업에 필요한 전역 변수(저장소 경로, 계정 이름)를 주입하는 데 사용됩니다.
n8n (n8n node): 세 가지 주요 방식으로 사용됩니다. 1) 모든 활성 n8n 워크플로우 나열. 2) GitHub에서만 발견된 새 워크플로우 생성. 3) GitHub 버전이 더 최신일 경우 n8n에서 기존 워크플로우 업데이트.
GitHub (n8n node): 저장소의 파일 작업(콘텐츠 나열, 개별 파일 가져오기, 새 워크플로우 파일 업로드, 기존 파일 편집 포함)을 처리합니다.
Compare Datasets (n8n node): 핵심 의사 결정 n8n 노드입니다. ID를 기반으로 로컬 및 원격 워크플로우 데이터 세트를 비교하여 새롭거나, 삭제되었거나, 다른 n8n 템플릿을 식별합니다.
If n8n before GitHub (If n8n node): 충돌 해결 로직을 실행하여 타임스탬프를 비교함으로써 어떤 버전의 n8n 워크플로우가 우수한지 판단합니다.


  • 파일로 변환 / 파일에서 추출 (n8n nodes): GitHub API 업로드를 위해 이진 데이터로 변환하고 base64로 인코딩하여 n8n 워크플로우 JSON 데이터를 준비하는 데 필수적입니다 (예: 로컬 워크플로우가 더 최신일 때).

관련 n8n 워크플로우

무료

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

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

추천*