환경 간 작업 복사
한 n8n 인스턴스에서 다른 인스턴스로 작업을 보내는 단계는 단일 Git 브랜치를 사용하는지 아니면 여러 브랜치를 사용하는지에 따라 다릅니다. 단일 Git 브랜치를 사용하는 경우 작업을 복사하는 단계는 다음과 같습니다:
한 n8n 인스턴스에서 다른 인스턴스로 작업을 보내는 단계는 단일 Git 브랜치를 사용하는지 아니면 여러 브랜치를 사용하는지에 따라 다릅니다.
단일 브랜치#
단일 Git 브랜치를 사용하는 경우 작업을 복사하는 단계는 다음과 같습니다:
- 한 인스턴스에서 Git 브랜치로 작업을 Push합니다.
- 다른 인스턴스에 로그인하여 Git에서 작업을 Pull합니다. Pull을 자동화할 수 있습니다.
다중 브랜치#
Git 브랜치가 두 개 이상인 경우 Git 제공업체에서 브랜치를 병합하여 환경 간에 작업을 복사해야 합니다. n8n에서 직접 환경 간에 작업을 복사할 수 없습니다.
일반적인 패턴은 다음과 같습니다:
- 개발 인스턴스에서 작업합니다.
- Git의 개발 브랜치로 작업을 Push합니다.
- 개발 브랜치를 프로덕션 브랜치로 병합합니다. 이를 수행하는 방법에 대한 안내는 Git 제공업체의 문서를 참조하세요:
- 프로덕션 n8n 인스턴스에서 변경 사항을 Pull합니다. Pull을 자동화할 수 있습니다.
n8n에 변경 사항 자동 전송#
/source-control/pull API 엔드포인트를 사용하여 작업 복사 과정의 일부를 자동화할 수 있습니다. 변경 사항을 병합한 후 API를 호출하세요:
curl --request POST \
--location '/api/v1/source-control/pull' \
--header 'Content-Type: application/json' \
--header 'X-N8N-API-KEY: ' \
--data '{"force": true}'
즉, GitHub Action이나 GitLab CI/CD를 사용하여 병합 시 프로덕션 인스턴스에 변경 사항을 자동으로 Pull할 수 있습니다.
GitHub Action 예시:
name: CI
on:
# Trigger the workflow on push or pull request events for the "production" branch
push:
branches: [ "production" ]
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
jobs:
run-pull:
runs-on: ubuntu-latest
steps:
- name: PULL
# Use GitHub secrets to protect sensitive information
run: >
curl --location '${{ secrets.INSTANCE_URL }}/version-control/pull' --header
'Content-Type: application/json' --header 'X-N8N-API-KEY: ${{ secrets.INSTANCE_API_KEY }}'
