merge: 최신 main을 토너먼트 조별 순위 카드에 통합한다
This commit is contained in:
@@ -136,6 +136,16 @@ Profile frontend build에는 같은 전체 commit SHA를 `VITE_BUILD_COMMIT_SHA`
|
||||
commit의 cached artifact를 현재 버전으로 오인하지 않습니다. Orchestrator 밖의
|
||||
개발 build는 현재 Git checkout의 `HEAD`를 fallback으로 사용하고 Git metadata를
|
||||
읽을 수 없을 때만 `unknown`을 표시합니다.
|
||||
같은 build 단계는 profile root에 `deployment-version.json`을 생성합니다. 이미 열린
|
||||
game frontend는 bundle에 고정된 commit과 이 정적 문서의 commit을 최초 mount,
|
||||
60초 주기, tab visibility 복귀와 network online 복귀 때 비교합니다. 다른 full SHA를
|
||||
처음 관찰하면 공용 info toast로 새로고침 안내만 하고 reload를 강제하지 않습니다.
|
||||
조회에는 cache-busting query와 `cache: no-store`를 사용하며, 실패·잘못된 문서는
|
||||
현재 화면을 방해하지 않고 무시합니다. 알림 여부는 tab session storage에만 남으므로
|
||||
Gateway/game DB, Redis, 인증, 턴 처리에는 mutation이 없습니다. Profile `DEPLOY`가
|
||||
API·engine·frontend를 같은 commit worktree에서 함께 전환하므로 이 frontend 문서는
|
||||
해당 profile의 새 backend/frontend release가 readiness를 통과해 실제 서빙되기 시작한
|
||||
뒤에만 달라집니다.
|
||||
`RESET` operation은 같은 build 경계를 사용한 뒤 현재 시즌 테이블을 seed로
|
||||
교체합니다. Seeder의 reset 목록에는 `hall`, `ng_games`, `yearbook_history`,
|
||||
과거 장수·국가와 상속·진단 자료가 포함되지 않습니다.
|
||||
|
||||
@@ -140,6 +140,11 @@ path별 Turbo cache에 저장됩니다. Orchestrator는 cache 복원 후 이를
|
||||
`.release-dist/<profileName>/game-frontend`에 staging directory를 거쳐 교체합니다.
|
||||
따라서 같은 commit·같은 공개 prefix의 재배포는 `vue-tsc`와 Vite를 다시 실행하지
|
||||
않고, 여러 instance가 같은 prefix를 쓰더라도 각 runtime target은 따로 materialize됩니다.
|
||||
각 artifact의 `deployment-version.json`은 bundle과 같은 full commit SHA만 담습니다.
|
||||
열린 profile 탭은 이 파일을 cache 우회로 확인해 bundle SHA와 달라졌을 때 한 번만
|
||||
`새 버전이 준비되었습니다. 새로고침하면 변경사항이 반영됩니다.` toast를 표시합니다.
|
||||
서버는 reload를 강제하지 않으며 이 확인은 정적 GET과 tab session storage만 사용해
|
||||
game/Gateway DB와 Redis에 영향을 주지 않습니다.
|
||||
`RESET`은 선택 worktree의 Gateway profile-seed CLI도 실행하므로 기존처럼
|
||||
`gateway-api`까지 server build에 포함하고, seed를 호출하지 않는 `DEPLOY`만 명시적
|
||||
server target을 `game-api`로 제한합니다.
|
||||
|
||||
Reference in New Issue
Block a user