InfoGrab DocsInfoGrab Docs

푸시 및 풀

요약

n8n 인스턴스가 Git 리포지터리에 연결되어 있다면, 작업 내용을 Git과 동기화된 상태로 유지해야 합니다. 이 문서는 Git 개념과 용어에 대한 어느 정도의 사전 지식을 전제로 합니다. 이 섹션의 상세 내용은 n8n 공식 문서를 참조하세요.

n8n 인스턴스가 Git 리포지터리에 연결되어 있다면, 작업 내용을 Git과 동기화된 상태로 유지해야 합니다.

이 문서는 Git 개념과 용어에 대한 어느 정도의 사전 지식을 전제로 합니다. n8n이 Git과 함께 작동하는 방식에 대한 소개는 Git과 n8n을 참고하세요.

참고

이 섹션의 상세 내용은 n8n 공식 문서를 참조하세요.

다른 사람의 작업 가져오기#

Note

n8n 역할은 변경 사항을 풀(가져오기)할 수 있는 사용자를 제어합니다

Git에서 변경 사항을 풀하려면 인스턴스 소유자 또는 인스턴스 관리자여야 합니다.

Git에서 작업을 가져오려면 메인 메뉴에서 Pull Pull icon을 선택합니다.

참고

이 섹션의 상세 내용은 n8n 공식 문서를 참조하세요.

n8n은 로컬 변경 사항을 덮어쓰는 것에 대한 경고를 표시할 수 있습니다. Git의 콘텐츠로 로컬 작업을 덮어쓰려면 Pull and override를 선택합니다.

변경 사항에 새로운 변수 또는 자격 증명 스텁이 포함된 경우, n8n은 해당 항목을 사용하기 전에 값을 채워야 한다고 알려줍니다.

Note

삭제된 리소스가 처리되는 방식

리포지터리에서 워크플로, 자격 증명, 변수, 태그, 데이터 테이블이 삭제되더라도 이러한 리소스의 로컬 버전은 자동으로 삭제되지 않습니다. 대신, 리포지터리 변경 사항을 풀할 때 n8n은 오래된 리소스에 대해 알려주고 삭제할지 여부를 묻습니다.

풀 시 워크플로 및 자격 증명 소유자가 변경될 수 있음#

Git에서 n8n 인스턴스로 풀할 때, n8n은 워크플로와 자격 증명을 일치하는 사용자 또는 프로젝트에 할당하려고 시도합니다.

원래 소유자가 사용자인 경우:

동일한 소유자가 두 인스턴스 모두에서 사용 가능하면(이메일 일치), 소유자는 그대로 유지됩니다. 원래 소유자가 새 인스턴스에 없는 경우, n8n은 풀을 수행하는 사용자를 워크플로 소유자로 설정합니다.

원래 소유자가 프로젝트인 경우:

n8n은 원래 프로젝트 이름을 새 인스턴스의 프로젝트 이름과 일치시키려고 시도합니다. 일치하는 프로젝트가 없으면 n8n은 해당 이름으로 새 프로젝트를 생성하고 현재 사용자를 프로젝트 소유자로 지정한 다음, 워크플로와 자격 증명을 프로젝트로 가져옵니다.

풀 시 워크플로 자동 게시#

풀할 때 풀 모달의 Auto publish 드롭다운을 사용하여 워크플로를 자동으로 게시하도록 선택할 수 있습니다. 여기에는 세 가지 모드가 있습니다.

  • Off(기본값): 워크플로를 게시하려고 시도하지 않습니다. 워크플로는 현재 로컬 게시 상태를 유지합니다.
  • If workflow already published: 이 인스턴스에서 이미 게시된 워크플로만 게시하려고 시도합니다. 새 워크플로는 게시되지 않습니다.
  • On: 새 워크플로를 포함하여 풀한 모든 워크플로를 게시하려고 시도합니다.

n8n은 자동 게시 설정과 관계없이 보관된 워크플로를 자동으로 게시하지 않습니다.

자동 게시가 활성화된 상태로 풀한 후, n8n은 어떤 워크플로가 성공적으로 게시되었고 어떤 워크플로가 실패했는지를 보여주는 결과 모달을 표시합니다. 워크플로에 유효성 검사 오류가 있거나 자격 증명이 누락된 경우 게시가 실패할 수 있습니다.

자동 게시는 풀 엔드포인트의 autoPublish 매개변수를 사용하여 API를 통해서도 사용할 수 있으며, 값으로는 none, published, all이 있습니다.

풀로 인해 짧은 서비스 중단이 발생할 수 있음#

게시된 워크플로에 대한 변경 사항을 풀하면, n8n은 풀하는 동안 워크플로 게시를 취소한 다음 다시 게시합니다. 이로 인해 워크플로에 몇 초간의 다운타임이 발생할 수 있습니다.

작업을 Git으로 보내기#

Note

n8n 역할은 변경 사항을 푸시할 수 있는 사용자를 제어합니다

Git에 변경 사항을 푸시하려면 인스턴스 소유자, 인스턴스 관리자 또는 프로젝트 관리자여야 합니다.

참고

이 섹션의 상세 내용은 n8n 공식 문서를 참조하세요.

커밋되는 항목#

n8n은 다음을 Git에 커밋합니다.

  • 워크플로(태그 및 워크플로 소유자의 이메일 주소 포함). 어떤 워크플로를 푸시할지 선택할 수 있습니다.
  • 자격 증명 스텁 - ID, 이름, 유형. 다른 필드는 표현식인 경우에만 포함됩니다. 어떤 자격 증명을 푸시할지 선택할 수 있습니다.
  • 변수 스텁(ID 및 이름)
  • 데이터 테이블 스키마(테이블 이름 및 열 정의, 행 데이터는 제외). 어떤 데이터 테이블을 푸시할지 선택할 수 있습니다.
  • 프로젝트
  • 폴더

병합 동작 및 충돌#

n8n의 소스 컨트롤 구현은 고집스러운(opinionated) 방식입니다. 자격 증명과 변수에 대한 병합 충돌은 자동으로 해결됩니다. n8n은 워크플로의 충돌을 감지할 수 없습니다.

워크플로#

푸시하거나 풀할 때 워크플로에 대해 어떻게 할지 n8n에 명시적으로 알려야 합니다. Git 리포지터리는 진실 공급원(source of truth) 역할을 합니다.

풀할 때, 워크플로의 로컬 사본이 Git과 다르다는 경고를 받을 수 있으며, 이를 수락하면 로컬 사본이 덮어써집니다. 풀할 때 관련 변경 사항을 잃지 않도록 주의하세요.

푸시할 때는 로컬 워크플로가 Git에 있는 내용을 덮어쓰므로, 최신 버전을 가지고 있는지 확인해야 합니다. 그렇지 않으면 최근 변경 사항을 덮어쓸 위험이 있습니다.

위에서 설명한 문제를 방지하려면, 워크플로 작업을 마치는 즉시 변경 사항을 즉시 푸시해야 합니다. 그러면 안전하게 풀할 수 있습니다.

데이터 손실을 방지하려면:

  • 워크플로가 한 방향으로만 흐르도록 소스 컨트롤 설정을 구성하세요. 예를 들어 개발 인스턴스에서 편집하고, Git에 푸시한 다음, 프로덕션으로 풀합니다. 프로덕션 인스턴스에서 편집하고 이를 푸시하지 마세요.
  • 모든 워크플로를 푸시하지 마세요. 필요한 것만 선택하세요.
  • Git 리포지터리에서 파일을 수동으로 편집할 때는 주의하세요.

자격 증명, 변수, 워크플로 태그#

자격 증명과 변수는 n8n이 유지할 버전을 선택하기 때문에 병합 문제가 발생할 수 없습니다.

풀 시:

  • 태그, 변수 또는 자격 증명이 존재하지 않으면 n8n이 이를 생성합니다.
  • 태그, 변수 또는 자격 증명이 이미 존재하면 n8n은 다음의 경우를 제외하고는 이를 업데이트하지 않습니다.
    • API 또는 외부에서 변수의 값을 설정한 경우. 새 값이 기존 값을 덮어씁니다.
    • 자격 증명 이름이 변경된 경우. n8n은 Git에 있는 버전을 사용합니다.
    • 태그의 이름이 변경된 경우. n8n은 태그 이름을 업데이트합니다. 태그 이름은 고유하므로 태그 이름을 변경할 때는 주의하세요. 이는 풀 과정에서 고유성과 관련된 데이터베이스 문제를 일으킬 수 있습니다.

푸시 시:

  • n8n은 변수 및 태그 파일 전체를 덮어씁니다.
  • 자격 증명이 이미 존재하는 경우, n8n은 변경 사항으로 이를 덮어쓰지만, 풀 시에는 기존 자격 증명에 이러한 변경 사항을 적용하지 않습니다.

데이터 테이블#

n8n은 환경 간에 데이터 테이블 스키마(테이블 구조 및 열 정의)를 동기화합니다. 행 데이터는 동기화되지 않습니다.

푸시 시:

  • 포함할 데이터 테이블을 선택할 수 있습니다.
  • n8n은 테이블 이름, 열 이름, 열 유형, 열 순서를 내보냅니다.

풀 시:

  • n8n은 로컬에 존재하지 않는 새 데이터 테이블을 생성합니다.
  • 기존 데이터 테이블의 경우, n8n은 스키마를 Git에 있는 버전과 일치하도록 업데이트합니다. 여기에는 새 열 추가와 원격 버전에 더 이상 존재하지 않는 열 제거가 포함됩니다.
Warning

열 제거는 데이터 손실을 초래합니다

풀한 데이터 테이블에 로컬 버전과 비교하여 제거된 열이 있는 경우, n8n은 해당 열과 그 데이터를 삭제합니다. 이는 취소할 수 없습니다. n8n은 이런 일이 발생할 때 풀 모달에 경고를 표시합니다.

Note

외부 시크릿 볼트로 자격 증명 관리하기

서로 다른 n8n 환경에서 서로 다른 자격 증명이 필요한 경우, 외부 시크릿을 사용하세요.

푸시 및 풀

n8n v2.29
원문 보기
요약

n8n 인스턴스가 Git 리포지터리에 연결되어 있다면, 작업 내용을 Git과 동기화된 상태로 유지해야 합니다. 이 문서는 Git 개념과 용어에 대한 어느 정도의 사전 지식을 전제로 합니다. 이 섹션의 상세 내용은 n8n 공식 문서를 참조하세요.

n8n 인스턴스가 Git 리포지터리에 연결되어 있다면, 작업 내용을 Git과 동기화된 상태로 유지해야 합니다.

이 문서는 Git 개념과 용어에 대한 어느 정도의 사전 지식을 전제로 합니다. n8n이 Git과 함께 작동하는 방식에 대한 소개는 Git과 n8n을 참고하세요.

참고

이 섹션의 상세 내용은 n8n 공식 문서를 참조하세요.

다른 사람의 작업 가져오기#

Note

n8n 역할은 변경 사항을 풀(가져오기)할 수 있는 사용자를 제어합니다

Git에서 변경 사항을 풀하려면 인스턴스 소유자 또는 인스턴스 관리자여야 합니다.

Git에서 작업을 가져오려면 메인 메뉴에서 Pull Pull icon을 선택합니다.

참고

이 섹션의 상세 내용은 n8n 공식 문서를 참조하세요.

n8n은 로컬 변경 사항을 덮어쓰는 것에 대한 경고를 표시할 수 있습니다. Git의 콘텐츠로 로컬 작업을 덮어쓰려면 Pull and override를 선택합니다.

변경 사항에 새로운 변수 또는 자격 증명 스텁이 포함된 경우, n8n은 해당 항목을 사용하기 전에 값을 채워야 한다고 알려줍니다.

Note

삭제된 리소스가 처리되는 방식

리포지터리에서 워크플로, 자격 증명, 변수, 태그, 데이터 테이블이 삭제되더라도 이러한 리소스의 로컬 버전은 자동으로 삭제되지 않습니다. 대신, 리포지터리 변경 사항을 풀할 때 n8n은 오래된 리소스에 대해 알려주고 삭제할지 여부를 묻습니다.

풀 시 워크플로 및 자격 증명 소유자가 변경될 수 있음#

Git에서 n8n 인스턴스로 풀할 때, n8n은 워크플로와 자격 증명을 일치하는 사용자 또는 프로젝트에 할당하려고 시도합니다.

원래 소유자가 사용자인 경우:

동일한 소유자가 두 인스턴스 모두에서 사용 가능하면(이메일 일치), 소유자는 그대로 유지됩니다. 원래 소유자가 새 인스턴스에 없는 경우, n8n은 풀을 수행하는 사용자를 워크플로 소유자로 설정합니다.

원래 소유자가 프로젝트인 경우:

n8n은 원래 프로젝트 이름을 새 인스턴스의 프로젝트 이름과 일치시키려고 시도합니다. 일치하는 프로젝트가 없으면 n8n은 해당 이름으로 새 프로젝트를 생성하고 현재 사용자를 프로젝트 소유자로 지정한 다음, 워크플로와 자격 증명을 프로젝트로 가져옵니다.

풀 시 워크플로 자동 게시#

풀할 때 풀 모달의 Auto publish 드롭다운을 사용하여 워크플로를 자동으로 게시하도록 선택할 수 있습니다. 여기에는 세 가지 모드가 있습니다.

  • Off(기본값): 워크플로를 게시하려고 시도하지 않습니다. 워크플로는 현재 로컬 게시 상태를 유지합니다.
  • If workflow already published: 이 인스턴스에서 이미 게시된 워크플로만 게시하려고 시도합니다. 새 워크플로는 게시되지 않습니다.
  • On: 새 워크플로를 포함하여 풀한 모든 워크플로를 게시하려고 시도합니다.

n8n은 자동 게시 설정과 관계없이 보관된 워크플로를 자동으로 게시하지 않습니다.

자동 게시가 활성화된 상태로 풀한 후, n8n은 어떤 워크플로가 성공적으로 게시되었고 어떤 워크플로가 실패했는지를 보여주는 결과 모달을 표시합니다. 워크플로에 유효성 검사 오류가 있거나 자격 증명이 누락된 경우 게시가 실패할 수 있습니다.

자동 게시는 풀 엔드포인트의 autoPublish 매개변수를 사용하여 API를 통해서도 사용할 수 있으며, 값으로는 none, published, all이 있습니다.

풀로 인해 짧은 서비스 중단이 발생할 수 있음#

게시된 워크플로에 대한 변경 사항을 풀하면, n8n은 풀하는 동안 워크플로 게시를 취소한 다음 다시 게시합니다. 이로 인해 워크플로에 몇 초간의 다운타임이 발생할 수 있습니다.

작업을 Git으로 보내기#

Note

n8n 역할은 변경 사항을 푸시할 수 있는 사용자를 제어합니다

Git에 변경 사항을 푸시하려면 인스턴스 소유자, 인스턴스 관리자 또는 프로젝트 관리자여야 합니다.

참고

이 섹션의 상세 내용은 n8n 공식 문서를 참조하세요.

커밋되는 항목#

n8n은 다음을 Git에 커밋합니다.

  • 워크플로(태그 및 워크플로 소유자의 이메일 주소 포함). 어떤 워크플로를 푸시할지 선택할 수 있습니다.
  • 자격 증명 스텁 - ID, 이름, 유형. 다른 필드는 표현식인 경우에만 포함됩니다. 어떤 자격 증명을 푸시할지 선택할 수 있습니다.
  • 변수 스텁(ID 및 이름)
  • 데이터 테이블 스키마(테이블 이름 및 열 정의, 행 데이터는 제외). 어떤 데이터 테이블을 푸시할지 선택할 수 있습니다.
  • 프로젝트
  • 폴더

병합 동작 및 충돌#

n8n의 소스 컨트롤 구현은 고집스러운(opinionated) 방식입니다. 자격 증명과 변수에 대한 병합 충돌은 자동으로 해결됩니다. n8n은 워크플로의 충돌을 감지할 수 없습니다.

워크플로#

푸시하거나 풀할 때 워크플로에 대해 어떻게 할지 n8n에 명시적으로 알려야 합니다. Git 리포지터리는 진실 공급원(source of truth) 역할을 합니다.

풀할 때, 워크플로의 로컬 사본이 Git과 다르다는 경고를 받을 수 있으며, 이를 수락하면 로컬 사본이 덮어써집니다. 풀할 때 관련 변경 사항을 잃지 않도록 주의하세요.

푸시할 때는 로컬 워크플로가 Git에 있는 내용을 덮어쓰므로, 최신 버전을 가지고 있는지 확인해야 합니다. 그렇지 않으면 최근 변경 사항을 덮어쓸 위험이 있습니다.

위에서 설명한 문제를 방지하려면, 워크플로 작업을 마치는 즉시 변경 사항을 즉시 푸시해야 합니다. 그러면 안전하게 풀할 수 있습니다.

데이터 손실을 방지하려면:

  • 워크플로가 한 방향으로만 흐르도록 소스 컨트롤 설정을 구성하세요. 예를 들어 개발 인스턴스에서 편집하고, Git에 푸시한 다음, 프로덕션으로 풀합니다. 프로덕션 인스턴스에서 편집하고 이를 푸시하지 마세요.
  • 모든 워크플로를 푸시하지 마세요. 필요한 것만 선택하세요.
  • Git 리포지터리에서 파일을 수동으로 편집할 때는 주의하세요.

자격 증명, 변수, 워크플로 태그#

자격 증명과 변수는 n8n이 유지할 버전을 선택하기 때문에 병합 문제가 발생할 수 없습니다.

풀 시:

  • 태그, 변수 또는 자격 증명이 존재하지 않으면 n8n이 이를 생성합니다.
  • 태그, 변수 또는 자격 증명이 이미 존재하면 n8n은 다음의 경우를 제외하고는 이를 업데이트하지 않습니다.
    • API 또는 외부에서 변수의 값을 설정한 경우. 새 값이 기존 값을 덮어씁니다.
    • 자격 증명 이름이 변경된 경우. n8n은 Git에 있는 버전을 사용합니다.
    • 태그의 이름이 변경된 경우. n8n은 태그 이름을 업데이트합니다. 태그 이름은 고유하므로 태그 이름을 변경할 때는 주의하세요. 이는 풀 과정에서 고유성과 관련된 데이터베이스 문제를 일으킬 수 있습니다.

푸시 시:

  • n8n은 변수 및 태그 파일 전체를 덮어씁니다.
  • 자격 증명이 이미 존재하는 경우, n8n은 변경 사항으로 이를 덮어쓰지만, 풀 시에는 기존 자격 증명에 이러한 변경 사항을 적용하지 않습니다.

데이터 테이블#

n8n은 환경 간에 데이터 테이블 스키마(테이블 구조 및 열 정의)를 동기화합니다. 행 데이터는 동기화되지 않습니다.

푸시 시:

  • 포함할 데이터 테이블을 선택할 수 있습니다.
  • n8n은 테이블 이름, 열 이름, 열 유형, 열 순서를 내보냅니다.

풀 시:

  • n8n은 로컬에 존재하지 않는 새 데이터 테이블을 생성합니다.
  • 기존 데이터 테이블의 경우, n8n은 스키마를 Git에 있는 버전과 일치하도록 업데이트합니다. 여기에는 새 열 추가와 원격 버전에 더 이상 존재하지 않는 열 제거가 포함됩니다.
Warning

열 제거는 데이터 손실을 초래합니다

풀한 데이터 테이블에 로컬 버전과 비교하여 제거된 열이 있는 경우, n8n은 해당 열과 그 데이터를 삭제합니다. 이는 취소할 수 없습니다. n8n은 이런 일이 발생할 때 풀 모달에 경고를 표시합니다.

Note

외부 시크릿 볼트로 자격 증명 관리하기

서로 다른 n8n 환경에서 서로 다른 자격 증명이 필요한 경우, 외부 시크릿을 사용하세요.