Next.jsアプリをNetlifyで自動デプロイ!完全運用ガイド
NetlifyとGitHub Actionsを使ったNext.jsアプリの自動デプロイから継続的な運用まで、実践的な手順を詳しく解説します。
Next.js アプリを Netlify で自動デプロイ!完全運用ガイド
現代の Web 開発では、コードをプッシュするだけで自動的にデプロイされる環境が必須です。この記事では、Next.js アプリケーションを Netlify で自動デプロイし、継続的に運用するための完全ガイドをお届けします。
🚀 Netlify 自動デプロイの概要
なぜ Netlify なのか?
- 簡単な設定: GitHub と連携するだけで自動デプロイ
- 高速 CDN: 世界中で高速配信
- 無料枠: 個人プロジェクトには十分
- Next.js 対応: 専用プラグインで最適化
基本的な構成
graph LR
A[GitHub] --> B[GitHub Actions]
B --> C[Netlify]
C --> D[本番サイト]
📋 初期設定手順
1. Netlify プロジェクトの作成
# Netlify CLI のインストール
npm install -g netlify-cli
# ログイン
netlify login
# プロジェクト作成
netlify sites:create --name your-project-name
2. netlify.toml の設定
[build]
publish = ".next"
command = "pnpm run build"
[build.environment]
NODE_VERSION = "18"
[[plugins]]
package = "@netlify/plugin-nextjs"
[functions]
directory = "netlify/functions"
3. GitHub Actions ワークフロー
name: Deploy to Netlify
on:
push:
branches: [main]
pull_request:
branches: [main]
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: "18"
- name: Setup pnpm
uses: pnpm/action-setup@v4
with:
version: 8
- name: Install dependencies
run: pnpm install
- name: Build project
run: pnpm run build
- name: Deploy to Netlify
run: |
if [ "${{ github.ref }}" = "refs/heads/main" ]; then
netlify deploy --prod --message "Production deploy"
else
netlify deploy --message "Preview deploy"
fi
env:
NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }}
NETLIFY_SITE_ID: ${{ secrets.NETLIFY_SITE_ID }}
🔐 GitHub Secrets の設定
必要な Secret
-
NETLIFY_AUTH_TOKEN
- Netlify Dashboard → User settings → Personal access tokens
- 新しいトークンを作成してコピー
-
NETLIFY_SITE_ID
- プロジェクトの Site ID を設定
設定手順
- GitHub リポジトリ → Settings → Secrets and variables → Actions
- "New repository secret" をクリック
- 上記の 2 つの Secret を追加
🚀 継続的デプロイ運用手順
日常的な開発フロー
# 1. 最新のmainブランチを取得
git checkout main
git pull origin main
# 2. 機能ブランチを作成
git checkout -b feature/新機能名
# 3. 開発作業
pnpm dev # 開発サーバー起動
# 4. ローカルでビルドテスト
pnpm build # エラーがないか確認
# 5. 変更をコミット
git add .
git commit -m "feat: 新機能の追加"
# 6. ブランチをプッシュ(プレビューデプロイが自動実行)
git push origin feature/新機能名
# 7. プルリクエストを作成
# GitHub上でプルリクエストを作成
# 8. レビュー完了後、mainにマージ(本番デプロイが自動実行)
手動デプロイ操作
本番環境への手動デプロイ
# ローカルから直接本番デプロイ
netlify deploy --prod
# ビルドも含めて実行
netlify deploy --prod --build
# デプロイメッセージ付き
netlify deploy --prod --message "v1.2.0リリース"
プレビュー環境への手動デプロイ
# プレビューデプロイ
netlify deploy
# ビルド込みプレビューデプロイ
netlify deploy --build
# 特定の機能をテストする際
netlify deploy --message "機能テスト: 新しいブログ機能"
🌍 環境別デプロイ戦略
ブランチごとのデプロイ設定
main
ブランチ: 本番環境に自動デプロイ- プルリクエスト: プレビュー環境に自動デプロイ
- その他のブランチ: 手動デプロイのみ
デプロイ URL の種類
# 本番URL
https://your-project.netlify.app
# プレビューURL(例)
https://deploy-preview-123--your-project.netlify.app
# ブランチデプロイURL(例)
https://feature-branch--your-project.netlify.app
🔧 環境変数の管理
Netlify 環境変数の設定
# 環境変数を設定
netlify env:set NODE_ENV production
netlify env:set API_URL https://api.example.com
# 環境変数を確認
netlify env:list
# 環境変数を削除
netlify env:unset VARIABLE_NAME
開発とプロダクションでの環境変数分離
-
Netlify Dashboard での設定
- プロジェクト設定 → Environment variables
- コンテキスト別(Deploy preview / Branch deploy / Production)で設定可能
-
ローカル開発用
# .env.local ファイルを作成(.gitignoreに含める)
NEXT_PUBLIC_API_URL=http://localhost:3001
DATABASE_URL=your_local_database_url
📊 監視とメンテナンス
デプロイ状況の確認
# 最新のデプロイ状況
netlify status
# デプロイ履歴
netlify deploy:list
# 特定のデプロイ詳細
netlify deploy:show DEPLOY_ID
パフォーマンステスト
# Lighthouse テスト
npm install -g lighthouse
lighthouse https://your-project.netlify.app
🔄 ロールバック手順
前のバージョンへのロールバック
# デプロイ履歴を確認
netlify deploy:list
# 特定のデプロイにロールバック
netlify deploy:restore DEPLOY_ID
# 最新の安定版にロールバック
netlify deploy:restore --latest-published
緊急時の Netlify Dashboard 操作
- プロジェクトダッシュボードにアクセス
- Deploys タブを選択
- 復元したいデプロイの Publish deploy をクリック
🛠️ よくある問題とその解決法
問題 | 解決法 |
---|---|
ビルドが失敗する | pnpm build でローカル確認 → エラーログを確認 |
デプロイが遅い | キャッシュクリア: netlify build --clear-cache |
環境変数が反映されない | Netlify Dashboard で設定確認 → サイト再デプロイ |
404 エラー | netlify.toml のリダイレクト設定確認 |
SSL 証明書エラー | Netlify Dashboard → Domain settings → SSL 確認 |
📋 定期メンテナンスチェックリスト
月次チェック項目
- 依存関係の更新チェック (
pnpm outdated
) - セキュリティ脆弱性チェック (
pnpm audit
) - サイトパフォーマンステスト
- 404 エラーページの確認
- バックアップデプロイの動作確認
パッケージ更新手順
# セキュリティアップデート
pnpm audit fix
# 依存関係の更新
pnpm update
# 主要パッケージの更新(慎重に)
pnpm add next@latest
pnpm add @netlify/plugin-nextjs@latest
# 更新後のテスト
pnpm build
netlify deploy # プレビューで確認
netlify deploy --prod # 問題なければ本番デプロイ
👥 新チームメンバーの環境構築
# 1. リポジトリをクローン
git clone https://github.com/your-username/your-project.git
cd your-project
# 2. 依存関係をインストール
pnpm install
# 3. Netlify CLI のインストールとログイン
npm install -g netlify-cli
netlify login
# 4. プロジェクトをリンク
netlify link --id your-site-id
# 5. 開発サーバー起動
pnpm dev
🎯 まとめ
Netlify を使った自動デプロイ環境を構築することで:
- 開発効率の向上: プッシュするだけで自動デプロイ
- 品質の向上: プレビュー環境での事前確認
- 運用の安定化: 簡単なロールバック機能
- チーム協力の促進: 統一された開発フロー
この環境を整えることで、より多くの時間を開発に集中できるようになります。
📚 参考リンク
この記事が皆さんの開発環境構築の参考になれば幸いです。質問やフィードバックがあれば、お気軽にお声がけください!
最後まで読んでいただきありがとうございました!てばさん(@basabasa8770)でした!