n8n Playground는 자유로운 테스트베드이므로, 서버 안정성을 보장하지 않으며 정기 점검 시 워크플로우가 일시 중단될 수 있습니다. 따라서 테스트가 완료되어 "실제 공식 업무"에 적용할 준비가 된 워크플로우는, AIA 그룹이 24시간 모니터링하고 안정성을 보장하는 "운영 환경(Production)"으로 이관하여 배포해야 합니다.
배포 전 필수 점검 요건 (Gatekeeping)
운영 서버의 안정성을 위해, 아래 요건을 충족한 워크플로우만 배포가 승인됩니다.
- 에러 알림 노드 포함 워크플로우 중간에 에러가 발생했을 때, 담당 부서의 슬랙 채널로 "에러 발생 알림"을 보내는 로직(Error Trigger 등)이 포함되어 있어야 합니다.
- 하드코딩 금지 노드 설정값에 개인정보나 비밀번호, API 키를 직접 타이핑해서 넣으면 안 됩니다. 모든 인증은 반드시 "Credentials" 기능을 통해서만 연결되어야 합니다.
- 네이밍 규칙 준수 워크플로우 및 각 노드의 이름이 역할을 알기 쉽게 작성되어야 하며, 크리덴셜 이름은 반드시
[팀 or 이름]-[서비스명]-[용도]형식을 준수해야 합니다. - GCC(Google Cloud Console) 거버넌스 준수 Google 서비스 연동 시 개인 동의 기반의 OAuth2 인증과 개인 GCC 프로젝트 사용은 전면 금지됩니다. 반드시 조직(Organization) 프로젝트 하에서 발급된 '서비스 계정(Service Account)'만 사용해야 합니다.
운영 환경 이관 및 배포 절차
1 JSON 파일 다운로드 (현업 담당자)
Playground에서 완성된 워크플로우 화면 우측 상단의 메뉴 → Download를 클릭하여 .json 파일로 저장합니다.
2 슬랙 워크플로 실행 (현업 담당자)
사내 슬랙의 #help-ai-agent 채널에서 n8n 운영 배포 요청 워크플로 폼을 실행합니다.
3 양식 작성 및 파일 첨부 (현업 담당자)
폼에 아래 신청 양식을 기입하고, .json 파일을 첨부하여 제출합니다.
4 코드 리뷰 및 거버넌스 심사 (AIA 그룹)
제출된 JSON 파일을 분석하여 무한 루프 위험, 과도한 API 호출, 보안 취약점을 검토합니다. 위반 시 반려될 수 있습니다.
5 운영 서버 세팅 (AIA 그룹)
심사를 통과하면 공식 운영 서버에 해당 워크플로우를 업로드합니다.
6 자격 증명(Credential) 매핑 (현업 담당자/해당 시)
Prod에 동일한 이름의 크리덴셜이 이미 존재하면 자동 매핑됩니다. 신규 크리덴셜인 경우 최초 1회 Prod에 등록이 필요합니다.
7 외부 연동 웹훅 주소 변경 (현업 담당자/해당 시)
Webhook 시작점인 경우 도메인이 변경됩니다. 변경된 주소를 외부 서비스 설정에 업데이트해 주십시오.
8 활성화 및 모니터링 (AIA 그룹)
인증과 주소 변경이 완료되면 최종 Active 활성화 후 운영을 시작합니다.
운영 배포 신청 양식
Slack #help-ai-agent 채널 상단 메뉴 → "n8n 운영 배포 요청"
| 항목 | 작성 예시 |
|---|---|
| 신청 팀명 및 담당자 | 인사팀 / 김철수 |
| 워크플로우 이름 | [인사팀] 주간 리포트 자동 발송_v1.0 |
| 핵심 동작 시나리오 | 봇이 어떤 주기로, 어떤 데이터를 가져와서, 무엇을 처리하는지 |
| 트리거(실행) 조건 | 매일 오전 9시 스케줄 기반 / 슬랙 메시지 입력 시 웹훅 기반 |
| 연동된 외부 서비스 및 API | Google Sheets, Slack, OpenAI |
| 에러 알림 슬랙 채널 | #hr-automation-alert |
| 첨부파일 | 워크플로우 .json 파일 |
| 회당 절감 시간 | 수동 대비 줄어드는 시간 (예: 0.67) |
| 월 실행 횟수 | 예: 20회, 300회 |
운영 환경 이관 후 주의사항
- 수정 권한 제한 운영 서버로 이관된 후에는 현업 담당자가 임의로 로직을 수정하거나 노드를 삭제할 수 없습니다. 변경이 필요한 경우 Playground에서 수정 및 테스트 후 "업데이트 배포 요청"을 진행해야 합니다.
- 환경 변수 및 동작 차이 유의 Dev 환경과 Prod 환경은 서로 다른 인프라에서 동작합니다. 웹훅 URL 변경 외에도 스케줄 트리거(Cron) 동작, 환경별 변수 설정에 유의하여 배포 후 반드시 정상 동작 여부를 테스트해 주시기 바랍니다.
자주 묻는 질문 (FAQ)
Q. Dev에서 만든 Webhook URL이 Prod에서도 같은 주소인가요?
아닙니다. 도메인이 변경됩니다.
· Dev: https://n8n-dev.voithru-ai.com/webhook/...
· Prod: https://n8n.voithru-ai.com/webhook/...
경로(path) 부분은 동일하게 유지됩니다.
Q. Webhook path를 직접 지정하지 않았는데 괜찮나요?
path를 지정하지 않으면 n8n이 자동으로 워크플로우 ID 기반 경로를 생성합니다. Dev와 Prod에서 워크플로우 ID가 달라지므로 path도 달라집니다. 배포 전에 반드시 Webhook 노드에서 path를 수동 지정해 두는 것을 권장합니다.
Q. Dev에서 등록한 크리덴셜을 Prod에 다시 만들어야 하나요?
Prod에 같은 이름의 크리덴셜이 이미 있으면 자동 매핑되어 추가 작업이 필요 없습니다. 없으면 최초 1회만 Prod에 생성하면 됩니다.
Q. 크리덴셜의 API Key 값도 Dev와 같은 걸 써도 되나요?
서비스에 따라 다릅니다. Dev/Prod 구분 없이 같은 키를 사용해도 되는 서비스(Slack, OpenAI 등)가 대부분이지만, 환경별로 키를 분리해야 하는 경우에는 Prod 전용 키를 별도로 등록해야 합니다.
Q. Cron 스케줄이 Prod에서도 동일하게 동작하나요?
네. Cron 설정값은 그대로 유지되며, Dev와 Prod의 타임존도 동일하게 설정되어 있으므로 같은 시간에 실행됩니다.
Q. Import 후 워크플로우가 자동으로 실행되나요?
아닙니다. Import된 워크플로우는 항상 비활성(Inactive) 상태로 생성됩니다. AIA가 최종 검증 후 활성화합니다.
Q. 이미 Prod에 있는 워크플로우를 업데이트하려면?
Playground에서 수정 → 테스트 완료 → #help-ai-agent에서 "업데이트 배포 요청" 폼을 제출해 주세요. AIA가 기존 Prod 워크플로우를 교체합니다. 현업이 Prod에서 직접 수정하는 것은 금지됩니다.
Q. 외부 서비스(슬랙 이벤트, 타입폼 등)에 등록한 Webhook URL도 바꿔야 하나요?
네. Prod 배포 후 변경된 웹훅 URL을 해당 외부 서비스 설정에 업데이트해야 합니다.
Q. 크리덴셜 이름을 Dev와 Prod에서 다르게 지으면 어떻게 되나요?
자동 매핑이 안 됩니다. Dev와 Prod의 크리덴셜 이름을 반드시 동일하게 유지해 주세요.
Q. 업데이트 배포 시 기존 크리덴셜 연결은 유지되나요?
크리덴셜 이름이 동일하면 자동 매핑되어 유지됩니다.
Q. Dev와 Prod에서 다른 URL이나 변수를 사용해야 할 때는 어떻게 하나요?
워크플로우 시작점에 Set 노드를 배치하여 환경별 변수(API URL, 버킷명 등)를 선언하고, 배포 시 해당 노드의 값만 Prod용으로 변경하는 방식을 권장합니다.