InfoGrab Docs

환경 간 작업 복사

요약

한 n8n 인스턴스에서 다른 인스턴스로 작업을 보내는 단계는 단일 Git 브랜치를 사용하는지 아니면 여러 브랜치를 사용하는지에 따라 다릅니다. 단일 Git 브랜치를 사용하는 경우 작업을 복사하는 단계는 다음과 같습니다:

한 n8n 인스턴스에서 다른 인스턴스로 작업을 보내는 단계는 단일 Git 브랜치를 사용하는지 아니면 여러 브랜치를 사용하는지에 따라 다릅니다.

단일 브랜치#

단일 Git 브랜치를 사용하는 경우 작업을 복사하는 단계는 다음과 같습니다:

  1. 한 인스턴스에서 Git 브랜치로 작업을 Push합니다.
  2. 다른 인스턴스에 로그인하여 Git에서 작업을 Pull합니다. Pull을 자동화할 수 있습니다.

다중 브랜치#

Git 브랜치가 두 개 이상인 경우 Git 제공업체에서 브랜치를 병합하여 환경 간에 작업을 복사해야 합니다. n8n에서 직접 환경 간에 작업을 복사할 수 없습니다.

일반적인 패턴은 다음과 같습니다:

  1. 개발 인스턴스에서 작업합니다.
  2. Git의 개발 브랜치로 작업을 Push합니다.
  3. 개발 브랜치를 프로덕션 브랜치로 병합합니다. 이를 수행하는 방법에 대한 안내는 Git 제공업체의 문서를 참조하세요:
  4. 프로덕션 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 }}'

환경 간 작업 복사

원문 보기
요약

한 n8n 인스턴스에서 다른 인스턴스로 작업을 보내는 단계는 단일 Git 브랜치를 사용하는지 아니면 여러 브랜치를 사용하는지에 따라 다릅니다. 단일 Git 브랜치를 사용하는 경우 작업을 복사하는 단계는 다음과 같습니다:

한 n8n 인스턴스에서 다른 인스턴스로 작업을 보내는 단계는 단일 Git 브랜치를 사용하는지 아니면 여러 브랜치를 사용하는지에 따라 다릅니다.

단일 브랜치#

단일 Git 브랜치를 사용하는 경우 작업을 복사하는 단계는 다음과 같습니다:

  1. 한 인스턴스에서 Git 브랜치로 작업을 Push합니다.
  2. 다른 인스턴스에 로그인하여 Git에서 작업을 Pull합니다. Pull을 자동화할 수 있습니다.

다중 브랜치#

Git 브랜치가 두 개 이상인 경우 Git 제공업체에서 브랜치를 병합하여 환경 간에 작업을 복사해야 합니다. n8n에서 직접 환경 간에 작업을 복사할 수 없습니다.

일반적인 패턴은 다음과 같습니다:

  1. 개발 인스턴스에서 작업합니다.
  2. Git의 개발 브랜치로 작업을 Push합니다.
  3. 개발 브랜치를 프로덕션 브랜치로 병합합니다. 이를 수행하는 방법에 대한 안내는 Git 제공업체의 문서를 참조하세요:
  4. 프로덕션 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 }}'