자동화를 위한 동적 GitHub 버전 관리 - n8n 워크플로우

이 특화된 n8n 워크플로우로 DevOps 실무를 간소화하세요. 버전 관리를 위해 GitHub를 통합하고, 로컬 n8n 워크플로우 상태를 비교하며, 커밋을 손쉽게 관리할 수 있습니다.

워크플로우 미리보기

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

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

추천 대상

• 프로젝트 버전 관리가 필요한 자동화 전문가
• 프로덕션 및 스테이징용 n8n 템플릿을 관리하는 DevOps 팀
• 현재 활성 상태인 n8n 워크플로우와 원격 GitHub 백업 간의 차이점을 비교해야 하는 사용자
• n8n 프로젝트를 위한 강력한 변경 관리 도구를 찾는 개발자

개요

적절한 버전 관리 없이는 중요한 자동화 로직의 변경 사항을 관리하기 어려울 수 있습니다. 이 복잡한 n8n 워크플로우는 활성 n8n 워크플로우를 GitHub와 직접 연결하는 버전 관리 인터페이스 역할을 하여 이 문제를 해결합니다. 네 가지 주요 작업을 처리하기 위해 여러 n8n 트리거 웹훅을 사용합니다: 플로우 목록 표시, 워크플로우 상태 가져오기, 로컬 변경 사항과 GitHub 비교, 업데이트 커밋. n8n 노드를 활용하여 솔루션은 실시간 워크플로우 데이터를 가져와 패키징한 다음, GitHub n8n 노드를 사용하여 파일 작업(읽기 및 커밋)을 관리함으로써 n8n 템플릿을 위한 원활하고 감사 가능한 개발 환경을 구축합니다.

작동 방식

이 강력한 n8n 워크플로우는 전용 n8n 트리거 웹훅으로 시작되는 네 가지 개별 실행 분기에서 작동합니다.


  1. UI 생성 (GitHub 워크플로우 목록 표시): 웹훅 트리거(Webhook-ideogener8r)가 요청을 수신합니다. 플로우는 필수 변수를 설정하고 GitHub n8n 노드를 사용하여 워크플로우 파일 목록을 가져옵니다. 이 데이터는 집계되어 HTML-UI n8n 노드로 전달되며, 이 노드는 Respond with UI n8n 노드를 통해 응답하며 기능적인 사용자 인터페이스를 렌더링합니다.

  2. 워크플로우 비교: Get-Workflow-Changes 웹훅이 비교를 시작합니다. 플로우는 먼저 GitHub n8n 노드를 사용하여 GitHub에서 지정된 워크플로우 JSON을 가져옵니다. 그런 다음 Get n8n Workflow n8n 노드를 사용하여 로컬 인스턴스에서 동일한 n8n 워크플로우의 실시간 정의를 가져옵니다. 후속 Code n8n 노드(ComapreNodes)가 차이점을 강조 표시하는 로직을 실행하며, 결과는 웹훅 응답을 통해 반환됩니다.

  3. 로컬 워크플로우 목록: Get-n8n-workflows 트리거는 n8n | get wf1 n8n 노드를 사용하여 인스턴스에 있는 모든 활성 n8n 템플릿 목록을 가져옵니다. 이 목록은 처리되어 웹훅을 통해 반환되며 제어판에 표시됩니다.

  4. 변경사항 커밋: submit-form 웹훅이 업데이트 저장을 처리합니다. Switch1 n8n 노드를 통해 사용자가 기존 워크플로우를 수정하는 중인지 또는 새 워크플로우를 생성하는 중인지를 판단합니다. 두 경로 모두 n8n 노드를 사용하여 현재 워크플로우 콘텐츠를 가져온 다음, 적절한 GitHub n8n 노드(Commit Workflow Edit 또는 Commit New File)로 전달하여 버전 관리 프로세스를 완료합니다. 모든 커밋은 GitHub n8n 노드를 사용하여 실시간 n8n 워크플로우와 원격 저장소 간의 동기화를 보장합니다.

설치 가이드

이 포괄적인 n8n 워크플로우를 배포하려면 다음 단계를 따르세요.


  1. 가져오기: 제공된 JSON 데이터를 복사하여 n8n 인스턴스의 '새로 만들기(New)' -> 'JSON에서 가져오기(Import from JSON)' 기능을 사용하여 붙여넣습니다.

  2. 자격 증명 설정: 두 가지 주요 자격 증명 세트를 설정해야 합니다.

GitHub 자격 증명: GitHub n8n 노드 연결을 구성하여 저장소에 대한 액세스를 허용합니다 (저장소 범위 지정, 파일 읽기/쓰기 권한 필수).
n8n API 자격 증명: 개인 API 키 또는 기본 인증을 사용하여 n8n 노드 연결을 구성하여 로컬 n8n 인스턴스의 워크플로우에 대한 읽기 및 쓰기를 허용합니다. n8n 노드가 실시간 워크플로우 정의를 가져와야 하므로 이 설정이 매우 중요합니다.

  1. 웹훅 URL: 활성화 후, 4개 n8n 트리거 노드(Webhook-ideogener8r, Get-Workflow-Changes, Get-n8n-workflows, submit-form)의 웹훅 URL을 가져옵니다. 이 URL은 버전 관리 시스템을 구동하는 프런트엔드 UI 구성 요소에서 사용됩니다.

  2. 경로 구성: 다양한 Set n8n 노드 인스턴스(예: Set Workflow Variables, Set GH Repo and Path3)의 매개변수를 조정하여 특정 GitHub 저장소 이름과 n8n 워크플로우 파일을 저장할 대상 경로를 지정합니다.

노드 상세 정보

Webhook (다중 트리거): UI 상호 작용, 비교 요청 및 커밋 제출을 위한 진입점(n8n 트리거) 역할을 합니다.
Set n8n 노드: (예: Set Workflow Variables, Set Flows)에서 광범위하게 사용되며, 후속 GitHub 및 n8n 노드 작업에 필요한 저장소 이름, 파일 경로, 워크플로우 ID와 같은 변수를 추출, 이름 변경 및 설정합니다.
n8n 노드 (예: n8n | get wf1, Get n8n Workflow): n8n API 자체와의 통신에 필수적입니다. 주요 기능은 모든 기존 n8n 워크플로우를 나열(getAll)하거나 ID를 기준으로 특정 n8n 워크플로우의 JSON 정의를 가져오는(get) 것입니다.
GitHub n8n 노드: 저장소의 파일 목록 조회, 저장된 n8n 워크플로우 파일 내용 읽기, 편집된 새 워크플로우 JSON을 저장소에 커밋하는 작업을 포함하여 모든 버전 관리 작업을 처리합니다.
HTML n8n 노드: 초기 플로우(HTML-UI)에서 사용되며, 다른 웹훅 엔드포인트와 상호 작용하는 사용자 인터페이스를 동적으로 생성하고 제공하여 n8n 템플릿 관리를 위한 전용 UI를 효과적으로 만듭니다.
Respond to Webhook n8n 노드: n8n 워크플로우 경로 실행 후 사용자 또는 요청 클라이언트에 데이터(HTML UI, 비교 결과 또는 커밋 확인)를 반환합니다.


  • Switch n8n 노드 (Switch1): 제출 시 실행 경로를 결정하며, GitHub 저장소에서 기존 n8n 워크플로우 파일을 업데이트하는 경우와 새 파일을 생성하는 경우를 구분합니다.

관련 n8n 워크플로우

유료

노드: 11 노드
업데이트됨: 12월 26 2025
모두 보기

추천*