> ## Documentation Index
> Fetch the complete documentation index at: https://docs.nora.my/llms.txt
> Use this file to discover all available pages before exploring further.

# 버전 배포

> 지금 Draft를 얼리고 프로덕션 트래픽을 그리로 돌립니다

배포는 Draft를 가져와 얼리고, 프로덕션 포인터를 새 버전으로 옮기는 일입니다.

## 배포하는 법

Flow 캔버스 오른쪽 위 → **Publish**를 누릅니다. Nora가 이렇게 합니다.

1. 배포 전 점검을 돌립니다(아래 참고).
2. 릴리스 노트를 물어봅니다.
3. 위험이 큰 변경이면 canary 롤아웃을 권합니다.
4. 확인을 받습니다.
5. 버전을 만들고 포인터를 옮깁니다.

새 실행은 곧바로 새 버전을 씁니다. 돌고 있던 실행은 시작한 버전에서 끝냅니다.

## 배포 전 점검

배포가 여러 점검을 한꺼번에 돌립니다. 다 통과해야 합니다.

* **필수 입력이 모두 연결됨.** 외톨이 블록 없음.
* **모든 Agent에 프롬프트와 모델이 있음.** 빈 칸 없음.
* **파라미터가 있는 모든 도구에 파라미터 설명이 있음.**
* **모든 시크릿이 풀림.** 깨진 참조 없음.
* **사이클 없음.** 경계가 있는 루프를 일부러 쓰지 않는 한 와이어링이 순환하지 않음.
* **Draft가 현재 배포와 다름.** 아무것도 안 바꾸는 배포는 없음.
* **시뮬레이션 게이트(설정했다면).** Flow 설정이 시뮬레이션 최소 통과율을 요구하면 그게 먼저 돕니다.

실패하면 무엇이 문제인지 빨간 배너로 알려 줍니다. 고치고 다시 시도하세요.

## 릴리스 노트

선택이지만 꼭 권합니다. 노트는 이런 곳에 뜹니다.

* 버전 목록.
* 감사 로그.
* CLI(`nora flows versions list`).
* 연결된 개선의 기록.

좋은 릴리스 노트는 이렇습니다.

> "환불 에스컬레이션 강화. 룰 추가: 사용자가 chargeback을 말하면 에스컬레이션. `fraud`/`dispute` 키워드면 모델을 상위 티어로. 클러스터 #142 해결."

나쁜 릴리스 노트는 이렇습니다.

> "수정."

관례로는 배포가 다루는 클러스터 ID나 개선 ID를 링크합니다. 감사가 빨라집니다.

## CLI로 배포

```bash theme={null}
nora flows publish --note "release 2026-07-31 refund cleanup"
```

같은 점검, 같은 동작입니다. CI에서 흔히 이렇게 씁니다.

```bash theme={null}
nora flows publish \
  --note "$(git log -1 --pretty=%s)" \
  --gate-simulation support-golden \
  --min-pass-rate 0.9
```

시뮬레이션을 먼저 돌리고, 통과했을 때만 배포합니다.

## Canary 배포

새 버전을 canary로 내보냅니다.

```bash theme={null}
nora flows publish --canary 5%
```

버전은 생기지만 트래픽의 5% 만 봅니다. 24\~72시간 지켜본 뒤 이렇게 합니다.

```bash theme={null}
nora flows canary promote  # 100% 로 넓힘
nora flows canary abort    # canary 롤백
```

트래픽은 스코프 키로 나눕니다. 같은 사용자는 늘 같은 버전에 닿습니다.

## 딸린 리소스 함께 배포

어떤 Flow 변경은 다른 곳도 같이 업데이트해야 합니다.

* 새 리트리벌 프리셋을 참조하는 Flow를 배포한다면? 프리셋도 배포돼 있어야 합니다.
* 새 시크릿을 쓰는 새 도구가 든 Flow를 배포한다면? 시크릿이 있어야 합니다.

배포 전 점검이 이런 딸림을 짚어 주고, 배포하거나 업데이트하라고 안내합니다.

## 배포 권한

기본은 Owner와 Manager 입니다. Member는 Draft를 고칠 수 있지만 배포는 못 합니다. **Flow settings → Access**에서 더 제한할 수 있습니다.

## Draft는 어떻게 되나

배포는 Draft를 건드리지 않습니다. Draft는 계속 고칠 수 있습니다. 다만 이제 배포된 버전과 달라서 "unpublished changes" 표시가 켜집니다.

## 배포 되돌리기

배포 자체는 되돌릴 수 없습니다. 버전이 이미 생겼으니까요. 하지만 롤백([롤백](/ko/reliable/versions/rollback) 참고)이 몇 초 만에 포인터를 뒤로 옮겨, 프로덕션 관점에서는 사실상 배포를 되돌립니다.
