Vercelで公開しよう
このページで学ぶこと
- Vercel とは何かがわかる
- Next.js アプリを Vercel にデプロイできる
- 環境変数を本番環境に設定できる
Vercel とは
Vercel は Next.js を作った会社が提供するホスティングサービスです。
GitHub リポジトリと連携するだけで、作ったアプリを簡単に世界中に公開できます。
無料プランでできること
- カスタムドメイン(
yourapp.vercel.app形式、または自分で取得したドメインを設定可能) - 自動HTTPS
- GitHub にプッシュするたびに自動デプロイ
デプロイする前の準備
チェック1: .env を gitignore していることを確認
# .gitignore に .env が含まれているか確認
cat .gitignore | grep .env.env が表示されればOKです。含まれていない場合は追加しましょう。
チェック2: 本番用のコードをビルドできるか確認
npm run buildエラーが出た場合は修正してから次に進みましょう。
チェック3: コードを GitHub にプッシュ
git add .
git commit -m "デプロイ準備完了"
git push origin mainVercel にデプロイする
ステップ1: Vercel アカウントを作る
vercel.comにアクセス- 「Start Deploying」→ GitHub でサインアップ
- GitHub との連携を許可する
ステップ2: プロジェクトをインポートする
- Vercel ダッシュボードで「Add New Project」(サインアップ後はこの画面が表示されないことがあります)
- GitHub のリポジトリ一覧から自分のプロジェクトを選ぶ
- 「No Git Repositories Found」と表示された場合は、「Configure GitHub App」から Vercel と GitHub の連携を行ってください。
- 「Repository access」では、「Only select repositories」を選び、デプロイしたいリポジトリにチェックを入れましょう。
- デプロイしたいリポジトリの横にある「Import」をクリック
ステップ3: 環境変数を設定する
ここが重要です。 .env ファイルは GitHub にアップしていないため、Vercel 側で設定する必要があります。
- 「Environment Variables」のセクションを展開する
- ローカルの
.envファイルを全て選択し、Vercel の入力欄にコピー&ペーストする - 全て入力したら「Deploy」をクリック
ステップ4: デプロイ完了を待つ
1〜2分でデプロイが完了します。
表示されたURLにアクセスして動作を確認しましょう。
本番URLを Supabase に登録する
Supabase Auth を使っている場合、本番URLを登録しないとリダイレクトがうまく動きません。
- Supabase ダッシュボードを開く
- 「Authentication」→「URL Configuration」
- 「Site URL」に本番URL(
https://xxxxx.vercel.app)を入力 (xxxxxの部分は置き換えてください) - 「Redirect URLs」にも同様に追加
自動デプロイの仕組み
Vercel と GitHub を連携すると、main ブランチへのプッシュのたびに自動でデプロイされます。
よくあるエラー
ビルドエラーが出る
→ まず npm run build をローカルで実行して、同じエラーが出るか確認しましょう。
エラーメッセージをAIに貼り付けて解決策を聞くのが早いです。
環境変数が読めない
→ Vercel の環境変数設定を再確認してみてください。変数名のスペルミスが多いです。
また、設定変更後は「Redeploy」が必要です。
Supabase に接続できない
→ DATABASE_URL のパスワード部分が正しいか確認してください。
特殊文字が含まれる場合は URL エンコードが必要なこともあります。
確認しよう
-
npm run buildがエラーなく通った - GitHub に最新コードをプッシュした
- Vercel に環境変数を設定した
- デプロイ後、本番URLでアプリが動いた
- ログイン・データ保存など主要機能が動作した
次のステップ
おめでとうございます!アプリが公開できました。
発表会に向けて、内容を磨いていきましょう。
困ったときは リファレンス を確認するか、メンターに相談してください。
最後に
来年度のチュートリアルの改善に活かすため、アンケートへのご協力をお願いします。
調査は完全匿名ですので、率直なフィードバックをお待ちしています!
アンケートに回答する