배포: 날짜·일련번호 기반 프런트엔드 버전 계약 적용 #15

Merged
kjh2064 merged 1 commits from fix/deploy-build-frontend-artifact into main 2026-08-06 16:28:38 +09:00
Owner

작업 목적

프런트엔드 버전을 다음 형식으로 일관되게 생성하고 화면과 배포 artifact에 동일하게 반영합니다.

YYYY.MM.DD.<당일 배포 순번>.<커밋 SHA 10자리>

예시:

2026.08.06.1.acaa731b3f

변경 내용

  • 한국 표준시 기준으로 배포 날짜를 생성합니다.
  • 같은 날짜의 release tag 개수를 조회해 당일 배포 순번을 자동 계산합니다.
  • 배포 대상 커밋 SHA 앞 10자리를 버전에 포함합니다.
  • 계산한 동일 버전을 Vite 프런트엔드 빌드에 주입합니다.
  • 빌드 결과에 버전 표시 marker가 없으면 배포를 중단합니다.
  • Host의 wwwroot에는 해당 커밋에서 새로 생성한 프런트엔드 artifact만 반영합니다.

근거와 범위

  • 요구사항: 좌측 하단 애플리케이션 버전 표시
  • 작업 유형: 배포 artifact 생성 동작 보완
  • 이번 PR은 백엔드 업무 로직, 모델 정책, 운영 DB 데이터를 변경하지 않습니다.
  • 자동 주문 및 KIS 제출 기능은 계속 OFF 상태입니다.

검증 기준

  • 프런트엔드 의존성 설치가 lockfile 기준으로 재현됩니다.
  • 정식 버전 형식이 생성됩니다.
  • bundle에 app-version marker가 존재합니다.
  • bundle에 UI contract 4.0 marker가 존재합니다.
  • 계산된 전체 버전 문자열이 bundle에 존재합니다.
  • CI와 배포 run 결과 및 운영 HTTP 응답을 증거로 보존합니다.

Source / Assumption / Unknown / Decision Required

  • Source: .gitea/workflows/deploy.yml, frontend/src/shared/ui/layouts/AppShellLayout.vue, 운영 배포 Run 3357 로그
  • Assumption: release tag 형식은 vYYYY.MM.DD.<순번>입니다.
  • Unknown: 동일 날짜에 동시 배포가 발생할 때 tag 생성 순서를 직렬화할 운영 규칙
  • Decision Required: 동시 배포가 허용될 경우 tag 발행 권한과 충돌 방지 정책 확정
## 작업 목적 프런트엔드 버전을 다음 형식으로 일관되게 생성하고 화면과 배포 artifact에 동일하게 반영합니다. ```text YYYY.MM.DD.<당일 배포 순번>.<커밋 SHA 10자리> ``` 예시: ```text 2026.08.06.1.acaa731b3f ``` ## 변경 내용 - 한국 표준시 기준으로 배포 날짜를 생성합니다. - 같은 날짜의 release tag 개수를 조회해 당일 배포 순번을 자동 계산합니다. - 배포 대상 커밋 SHA 앞 10자리를 버전에 포함합니다. - 계산한 동일 버전을 Vite 프런트엔드 빌드에 주입합니다. - 빌드 결과에 버전 표시 marker가 없으면 배포를 중단합니다. - Host의 `wwwroot`에는 해당 커밋에서 새로 생성한 프런트엔드 artifact만 반영합니다. ## 근거와 범위 - 요구사항: 좌측 하단 애플리케이션 버전 표시 - 작업 유형: 배포 artifact 생성 동작 보완 - 이번 PR은 백엔드 업무 로직, 모델 정책, 운영 DB 데이터를 변경하지 않습니다. - 자동 주문 및 KIS 제출 기능은 계속 OFF 상태입니다. ## 검증 기준 - [ ] 프런트엔드 의존성 설치가 lockfile 기준으로 재현됩니다. - [ ] 정식 버전 형식이 생성됩니다. - [ ] bundle에 `app-version` marker가 존재합니다. - [ ] bundle에 `UI contract 4.0` marker가 존재합니다. - [ ] 계산된 전체 버전 문자열이 bundle에 존재합니다. - [ ] CI와 배포 run 결과 및 운영 HTTP 응답을 증거로 보존합니다. ## Source / Assumption / Unknown / Decision Required - Source: `.gitea/workflows/deploy.yml`, `frontend/src/shared/ui/layouts/AppShellLayout.vue`, 운영 배포 Run 3357 로그 - Assumption: release tag 형식은 `vYYYY.MM.DD.<순번>`입니다. - Unknown: 동일 날짜에 동시 배포가 발생할 때 tag 생성 순서를 직렬화할 운영 규칙 - Decision Required: 동시 배포가 허용될 경우 tag 발행 권한과 충돌 방지 정책 확정
kjh2064 added 1 commit 2026-08-06 16:26:23 +09:00
kjh2064 changed title from DEPLOY: apply date-sequence frontend version contract to 배포: 날짜·일련번호 기반 프런트엔드 버전 계약 적용 2026-08-06 16:28:21 +09:00
kjh2064 merged commit 67274cbdb6 into main 2026-08-06 16:28:38 +09:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: kjh2064/KArtSell.Aegis#15