발행일: 2026-10-06(화) 11:44
홈›도서›하루 30분 n8n ④›PART 4 미니 프로젝트: 회사 전용 n8n 노드 패키지
DAY 25★★★

PART 4 미니 프로젝트: 회사 전용 n8n 노드 패키지

📖 이론5분
🛠️ 실습20분
🎯 미션5분

"완성된 것이 완벽한 것보다 낫다."

— 마크 저커버그 (Mark Zuckerberg, 메타 창업자)
🎯 오늘의 학습 목표
  • 회사 전용 커스텀 노드 패키지를 기획하고 완성할 수 있다.
  • PART 4 전체 내용을 통합한 프로젝트를 완료할 수 있다.
  • 커스텀 노드 유지보수 전략을 수립할 수 있다.
회사 전용 노드 패키지란?

여러 커스텀 노드를 하나의 npm 패키지로 묶어서 관리하는 방식입니다. 예를 들어 n8n-nodes-mycompany 라는 패키지 안에 회사 ERP 노드, 사내 SMS 노드, 사내 DB 노드를 한 번에 묶어서 서버 n8n에 설치하면 됩니다.

회사 전용 패키지 구조 예시
text
n8n-nodes-mycompany/
├── nodes/
│   ├── CompanyErp/
│   │   ├── CompanyErp.node.ts
│   │   └── CompanyErp.svg
│   ├── CompanySms/
│   │   ├── CompanySms.node.ts
│   │   └── CompanySms.svg
│   └── CompanyDb/
│       ├── CompanyDb.node.ts
│       └── CompanyDb.svg
├── credentials/
│   ├── CompanyErpApi.credentials.ts
│   └── CompanySmsApi.credentials.ts
└── package.json
PART 4 완성 체크리스트
text
[ ] 개발 환경 세팅 완료 (Node.js, VS Code, n8n-nodes-starter 클론)
[ ] 크리덴셜 파일 작성 완료
[ ] 실행형 노드 1개 이상 완성 및 동작 테스트
[ ] 다중 Operation 패턴 적용
[ ] 에러 핸들링 로직 포함 (try-catch, continueOnFail)
[ ] this.helpers.httpRequest() 사용 (deprecated된 request 사용 안 함)
[ ] package.json 키워드 설정 ('n8n-community-node-package' 포함)
[ ] TypeScript 빌드 성공 (오류 없음)
[ ] 로컬 n8n에서 노드 동작 확인
[ ] 서버 n8n에 배포 완료
[ ] 실제 워크플로우에서 사용 테스트
커스텀 노드 유지보수 전략

버전 관리: 노드 수정 시 package.json 버전 업(1.0.0 → 1.0.1)하고 npm publish 재배포. 하위 호환성: 기존 워크플로우가 깨지지 않도록 노드 version 필드를 높이는 방식으로 관리. 테스트: 서버 배포 전 반드시 로컬 n8n에서 동작 확인. 문서화: 노드 description 필드와 각 property의 description을 한국어로 상세하게 작성.

🛠️ DAY 25 실습
Step 1회사 전용 패키지 기획
  1. 우리 회사에서 자주 쓰는 내부 시스템/서비스 목록 작성
  2. n8n 기본 노드로 해결 안 되는 것 2~3개 선정
  3. 커스텀 노드로 만들 우선순위 결정
Step 2두 번째 노드 추가
  1. 알리고 SMS 외에 하나 더: 카카오 알림톡 또는 네이버 클라우드 SMS
  2. 기존 패키지에 nodes/ 폴더 추가
  3. package.json의 n8n.nodes 배열에 새 노드 경로 추가
Step 3서버 배포 및 최종 확인
  1. npm run build 최종 빌드
  2. 서버 n8n에 Community Nodes로 설치
  3. 실제 워크플로우에서 두 노드 모두 동작 확인
🚀 DAY 25 미션

커스텀 노드 2개 이상이 포함된 회사 전용 n8n 패키지를 완성하고 서버에 배포하세요. PART 4 완성 체크리스트 11개 항목 중 9개 이상을 완료하면 미션 클리어입니다.

☑️ 미션 체크리스트
  • 커스텀 노드 2개 이상 작성 완료
  • 다중 Operation 패턴 적용
  • 에러 핸들링(try-catch, continueOnFail) 포함
  • 서버 n8n에 패키지 설치 완료
  • 실제 워크플로우에서 사용 테스트 완료
💡 힌트: 두 번째 노드는 기존 알리고 노드에서 API URL과 파라미터만 바꾸면 빠르게 만들 수 있어요.
🎯 성공 기준: PART 4 완성 체크리스트 11개 중 9개 이상 완료
← 이전
커스텀 노드 고급 패턴과 npm 배포
다음 →
MCP가 바꾸는 자동화의 패러다임
← 목차로 돌아가기