Skip to content

Latest commit

 

History

History
64 lines (45 loc) · 1.89 KB

File metadata and controls

64 lines (45 loc) · 1.89 KB

Mini PC Web Deploy

TechCase 웹 프론트엔드는 Next.js static export 결과물인 apps/web/out을 mini PC의 정적 파일 디렉터리로 동기화해서 배포합니다.

운영 기본값은 다음과 같습니다.

Public URL:     https://techcase.dadamda.site
Deploy host:    home-2
Remote web out: /home/godhkekf24/apps/techcase/current/apps/web/out

웹 배포

scripts/deploy/mini-pc-web.sh

스크립트는 다음 순서로 동작합니다.

  1. NEXT_PUBLIC_API_BASE_URL을 정적 빌드에 반영합니다.
  2. apps/web에서 npm run build를 실행합니다.
  3. apps/web/out을 mini PC로 rsync --delete 동기화합니다.
  4. 공개 URL의 /, /health, /api/search, /api/suggest를 스모크 체크합니다.

기본 API URL은 TECHCASE_PUBLIC_URL과 같은 https://techcase.dadamda.site입니다. 운영 배포에서 http://localhost:8000 같은 로컬 API URL이 들어가면 스크립트가 중단됩니다.

사전 확인

실제 파일 동기화 없이 확인하려면 dry run을 사용합니다.

scripts/deploy/mini-pc-web.sh --dry-run

이미 빌드된 apps/web/out만 동기화하려면 다음처럼 실행합니다.

scripts/deploy/mini-pc-web.sh --skip-build

배포 없이 공개 엔드포인트만 확인하려면 다음처럼 실행합니다.

scripts/deploy/mini-pc-web.sh --smoke-only

환경 변수

운영 기본값과 다른 환경에서 검증할 때만 환경 변수로 덮어씁니다.

TECHCASE_DEPLOY_HOST=home-2 \
TECHCASE_REMOTE_WEB_OUT=/home/godhkekf24/apps/techcase/current/apps/web/out \
TECHCASE_PUBLIC_URL=https://techcase.dadamda.site \
NEXT_PUBLIC_API_BASE_URL=https://techcase.dadamda.site \
scripts/deploy/mini-pc-web.sh

로컬 테스트 용도로 공개 URL이 아닌 환경에 배포할 때는 TECHCASE_ALLOW_LOCAL_API=1을 명시해야 로컬 API URL을 허용합니다.