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스크립트는 다음 순서로 동작합니다.
NEXT_PUBLIC_API_BASE_URL을 정적 빌드에 반영합니다.apps/web에서npm run build를 실행합니다.apps/web/out을 mini PC로rsync --delete동기화합니다.- 공개 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을 허용합니다.