フロントエンドのデプロイ
クライアント側
本番運用環境用 設定ファイル
src/frontend/.env.production
NEXT_PUBLIC_API_BASE_URL=https://recsys-full.recsyslab.org/api/
yarn run build のテスト
下記を実行し、エラーがないことを確認してください。
frontend$ yarn run build
yarn run v1.22.22
$ next build
▲ Next.js 16.3.3 (Turbopack)
- Environments: .env.local, .env.production
✓ Running next.config.ts took 442ms
Creating an optimized production build ...
✓ Compiled successfully in 7.1s
✓ Finished TypeScript in 3.3s
✓ Collecting page data using 1 worker in 593ms
✓ Generating static pages using 1 worker (9/9) in 300ms
✓ Finalizing page optimization in 16ms
Route (app)
┌ ○ /
├ ○ /_not-found
├ ○ /about
├ ƒ /movies/[movie_id]
├ ○ /myaccount
├ ○ /mypage
├ ○ /signin
└ ○ /signup
○ (Static) prerendered as static content
ƒ (Dynamic) server-rendered on demand
Done in 14.38s.
リポジトリのプッシュ
$
cd ~/dev/recsys-full/
git add *
git add .*
git commit -m "deploy frontend"
git push
git status
フロントエンドサーバ側
デプロイ
- Vercel にログインする。
- Add New > Projectを開く。
- Import Git Repositoryから
recsys-fullのImportボタンをクリックする。 - 下記を設定する。
- Vercel Team:
- Project Name:
recsys-full - Root Directory:
src/frontend
- Vercel Team:
- 上記のRoot Directoryを設定した後、下記が自動設定されることを確認する。
- Application Preset:
Next.js - 先にApplication Presetを設定すると、Root Directoryを設定した後、Application Presetが選択できなくなる不具合が発生することがある。
- Application Preset:
- Deployボタンをクリックする。
- デプロイが成功すれば、プレビューが表示される。
- 失敗した場合は、
yarn run buildの実行結果を確認する。
- Continue to Dashboardボタンをクリックする。
プレビュー画面をクリックするか、下記 URL にアクセスしてください。
環境変数の設定
- Environment Variablesを開く。
- Add Environment Variableボタンをクリックする。
.env.productionの内容を下記のとおりKey-Valueとして登録する。- Key:
NEXT_PUBLIC_API_BASE_URL - Value:
https://recsys-full.recsyslab.org/api/ - Type:
Config
- Key:
- Saveボタンをクリックする。
- 「Added Environment Variable successfully. A new deployment is needed for changes to take effect.」というメッセージが表示されるので、Redeployボタンをクリックする。
- Redeployボタンをクリックする。
- Logsを開き、「[31m[auth][error][0m MissingSecret: Please define a
secret. Read more at https://errors.authjs.dev#missingsecret」が出ないことを確認する。 - View Deploymentボタンをクリックし、デプロイが完了するまで待つ。
実行確認
下記 URL にアクセスしてください。
下記の動作をテストしてください。
- サインアップ、サインイン、サインアウト
- トップページの映画リスト、映画詳細ページ、各種推薦リストの表示
- ポスター画像、映画詳細ページにおける映画プロットの表示
- 評価値の登録や取得