Switch to static deployment + bun migration #2

Merged
tyange merged 3 commits from claude/peaceful-cerf-05115b into master 2026-04-18 15:06:14 +00:00
tyange commented 2026-04-18 15:04:40 +00:00 (Migrated from github.com)

Summary

  • Node.js 서버(nuxt build + PM2) 배포를 정적 사이트(nuxt generate + nginx) 배포로 전환
  • 패키지 매니저 pnpm → bun 교체

주요 변경

정적 배포

  • nitro.prerender + crawlLinks: true + prerender:routes 훅(CMS에서 슬러그 주입)로 전체 페이지 prerender
  • app/pages/index.vue 태그 필터를 쿼리 기반 useFetch → 메모리 필터링으로 전환 (static 호환)
  • routeRules SWR 제거 (서버 전용 옵션이라 static에선 무의미)
  • GitHub Actions: pnpm build → bun run generate, .output/public SCP 배포, PM2 restart → nginx reload
  • 미사용 ecosystem.config.js 제거

Bun 마이그레이션

  • packageManager 필드 bun@1.1.42로 변경, pnpm-lock.yaml → bun.lock
  • CI workflow Setup pnpm + Setup Node → Setup Bun 단일 단계
  • CLAUDE.md 규칙을 bun 허용으로 업데이트

서버 설정 (코드 외 작업)

  • /etc/nginx/sites-available/blog.tyange.com root를 /home/ubuntu/tyange-blog로, try_files + SPA 폴백 구성
  • /home/ubuntu/ traversal 권한 허용 (`chmod o+x`)
  • sudoers에 `nginx -t`, `systemctl reload nginx` NOPASSWD 추가

Test plan

  • 로컬 `bun run generate` 성공 확인
  • GitHub Actions 수동 실행으로 배포 성공 확인
  • `curl -I https://blog.tyange.com` 200 응답 확인
  • master 머지 후 `repository_dispatch` 트리거(CMS publish)에서도 자동 재배포 확인

🤖 Generated with Claude Code

## Summary - Node.js 서버(`nuxt build` + PM2) 배포를 정적 사이트(`nuxt generate` + nginx) 배포로 전환 - 패키지 매니저 pnpm → bun 교체 ## 주요 변경 ### 정적 배포 - `nitro.prerender` + `crawlLinks: true` + `prerender:routes` 훅(CMS에서 슬러그 주입)로 전체 페이지 prerender - `app/pages/index.vue` 태그 필터를 쿼리 기반 `useFetch` → 메모리 필터링으로 전환 (static 호환) - `routeRules` SWR 제거 (서버 전용 옵션이라 static에선 무의미) - GitHub Actions: `pnpm build` → `bun run generate`, `.output/public` SCP 배포, PM2 restart → nginx reload - 미사용 `ecosystem.config.js` 제거 ### Bun 마이그레이션 - `packageManager` 필드 `bun@1.1.42`로 변경, `pnpm-lock.yaml` → `bun.lock` - CI workflow `Setup pnpm` + `Setup Node` → `Setup Bun` 단일 단계 - `CLAUDE.md` 규칙을 bun 허용으로 업데이트 ### 서버 설정 (코드 외 작업) - `/etc/nginx/sites-available/blog.tyange.com` root를 `/home/ubuntu/tyange-blog`로, `try_files` + SPA 폴백 구성 - `/home/ubuntu/` traversal 권한 허용 (\`chmod o+x\`) - sudoers에 \`nginx -t\`, \`systemctl reload nginx\` NOPASSWD 추가 ## Test plan - [x] 로컬 \`bun run generate\` 성공 확인 - [x] GitHub Actions 수동 실행으로 배포 성공 확인 - [x] \`curl -I https://blog.tyange.com\` 200 응답 확인 - [ ] master 머지 후 \`repository_dispatch\` 트리거(CMS publish)에서도 자동 재배포 확인 🤖 Generated with [Claude Code](https://claude.com/claude-code)
Sign in to join this conversation.
No description provided.