Skip to main content
배포된 Flow는 모두 버전 입니다. 버전은 바뀌지 않습니다. 출시되면 그대로 얼어붙습니다. Nora가 “프로덕션” 에서 지금 라이브인 버전을 가리키는 포인터를 관리합니다. 버전이 위험을 다룰 만하게 만들어 줍니다. 롤백이 즉시라 자신 있게 배포할 수 있고, 배포마다 고정된 정체성이 있어 또렷이 감사할 수 있으며, 버전 둘을 정확히 diff 해 견줄 수 있습니다.
배포 스냅샷 하나를 연 화면 — LIVE 배지, 작성자와 생성 시각, 릴리즈 노트, 그때의 Flow 미리보기, 지난 배포 대비 변경 사항이 보인다

버전에 담기는 것

버전은 이런 걸 담습니다.
  • Flow의 모든 블록.
  • 그 사이 모든 와이어.
  • 모든 설정(제한, 승인, 보존).
  • 붙은 모든 프리셋(리트리벌, 메모리, 인과 그래프).
  • 붙은 모든 데이터 소스. 특정 컬렉션 버전에 고정됩니다.
  • 배포할 때 적은 릴리스 노트.
배포한 뒤에는 버전을 아무것도 못 바꿉니다. 롤백은 “current” 포인터를 옮길 뿐, 버전 자체를 건드리지 않습니다.

버전이 중요한 곳

버전 배포

Draft를 새 버전으로 출시합니다.

롤백

프로덕션을 이전 버전으로 가리킵니다.

버전 diff

정확히 무엇이 바뀌었는지 봅니다.

Draft

프로덕션을 건드리지 않고 안전하게 고칩니다.

감사 트레일

모든 배포, 롤백, 복원.

버전 번호

버전 번호는 Flow마다 v1에서 시작합니다. 번호는 한 방향으로만 올라갑니다. 즉 출시된 순서를 말해 줄 뿐, 라이브인 버전이 반드시 최신 번호는 아닙니다. 콘텐츠 해시도 보입니다. 버전 내용에서 뽑은 짧은 ID 죠. 내용이 같은 두 버전은 해시를 공유합니다(드물지만 롤백했다가 다시 롤 포워드한 뒤에 생길 수 있습니다).

버전의 한살이

보존은 설정할 수 있습니다. 밀려난 뒤 버전을 얼마나 오래 실행할 수 있게 둘지 정합니다. 기본은 최근 10개는 기한 없이, 오래된 건 1년, 그 뒤 보관입니다.

배포 포인터

Flow는 언제나 배포 포인터 하나를 갖습니다. 프로덕션 트래픽을 받는 버전을 가리키죠. 배포하면 포인터가 앞으로 가고, 롤백하면 뒤로 갑니다. 실행되는 건 포인터입니다. 버전 자체는 저장고고요.

포인터가 여럿일 때(canary)

Canary 롤아웃에서는 포인터 둘이 한꺼번에 살아 있을 수 있습니다.
  • Primary 트래픽 대부분을 처리하는 버전.
  • Canary 트래픽 일부를 처리하는 버전.
둘 다 고정된 버전입니다. 트래픽을 어떻게 나눌지는 Flow 수준에서 정합니다.