본문 바로가기
Shoal
Shoal

핵심 개념

환경

단계별로 플래그 상태를 분리하고, 서버용·브라우저용 키를 씁니다.

모든 프로젝트에는 하나 이상의 환경이 있습니다. 플래그는 모든 환경에 존재하지만 켜짐·꺼짐 상태, 규칙, 출시 비율은 환경마다 따로 설정됩니다. development에서 new-checkout을 켜도 production은 그대로입니다.

기본 환경

새 프로젝트는 development와 production으로 시작합니다. 프로젝트 설정 → 환경에서 staging, preview, 고객 리전별 환경을 추가할 수 있습니다.

키

각 환경에는 두 종류의 키가 있습니다.

  • 서버 키 (sk_…): 타기팅 규칙과 사용자 목록을 포함한 전체 룰셋을 내려받습니다. 외부에 노출하면 안 됩니다.
  • 클라이언트 키 (ck_…): 브라우저와 모바일 앱에 넣어도 안전합니다. 평가는 Shoal 엣지에서 이뤄지고 결과값만 돌려주므로 규칙이 공개되지 않습니다.
TypeScript
// server
createClient({ key: process.env.SHOAL_KEY });            // sk_…
// browser
createClient({ key: import.meta.env.VITE_SHOAL_CLIENT }); // ck_…

키 교체

대시보드나 shoal keys rotate로 키를 교체합니다. 이전 키는 24시간 동안 계속 동작하므로 중단 없이 새 키로 바꿀 수 있습니다.

환경 간 상태 복사

스테이징에서 검증한 설정을 한 번에 프로덕션으로 올립니다.

Terminal
npx shoal flags copy new-checkout --from staging --to production

실제로 바꾸기 전에 차이를 보여 주고 확인을 받습니다.

이 페이지가 도움이 되었나요?

검색어를 입력하세요. 브라우저 안의 로컬 색인에서 찾습니다.

↑ ↓ 이동↵ 열기MiniSearch · local