「Reactアプリを更新するたびに手動でデプロイするのが面倒」
「変更を反映させるまでに時間がかかる」
そんな悩みを感じている方も多いのではないでしょうか?
実は、GitHub ActionsとVercelを組み合わせれば、コードをプッシュするだけでReactアプリを自動でデプロイできます。
この記事では、CI/CDの考え方からGitHub Actionsの設定、Vercelとの連携方法までを、初心者にも分かるように具体的なコードと手順で解説します。
CI/CDとは何か?Reactでなぜ必要?
自動化された開発の流れを理解する
結論:CI/CDは開発効率と品質を両立するために欠かせません。
CI/CDとは以下の意味を持ちます。
- CI(継続的インテグレーション):コードの変更を自動で統合
- CD(継続的デリバリー/デプロイ):自動でテストや本番環境へ反映
React開発においては、「コードを修正 → push → 自動で公開」という流れが確立されることで、
- デプロイのミスを防ぐ
- リリース頻度が上がる
- 開発スピードが上がる
という大きな効果があります。
経済産業省の「デジタルガバメント実行計画」でも、開発サイクルの高速化=DX推進の柱とされており、CI/CDの導入は重要視されています(出典:https://cio.go.jp/digital_gov_action_plan)。
GitHub Actionsの仕組みと導入手順
自動で動く「処理の流れ」を定義する
結論:GitHub Actionsは、プッシュやマージなどのイベントに応じて自動で処理を実行する機能です。
構成要素は以下の通りです。
- Workflow:処理のまとまり
- Event:処理を起動するきっかけ(例:push)
- Job:実行単位(複数まとめて動かす)
- Step:コマンドやスクリプトを1つずつ実行
GitHub上で.github/workflows/
フォルダにYAML形式のファイルを追加すれば利用できます。
Vercelと連携する理由と設定方法
なぜVercelなのか?
結論:Reactのホスティングと自動更新に特化しており、GitHubとの連携が非常に簡単です。
Vercelは以下の特徴があります。
- 無料プランあり
- GitHubのリポジトリと連携するだけで自動デプロイ
- デプロイごとにURLを発行(プレビュー機能あり)
main
やdev
などのブランチごとに切り分け可能
実際のGitHub Actions構成例
基本のYAML設定を紹介
結論:push時にビルド→Vercelへのデプロイを自動化します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | # .github/workflows/deploy.yml name: Deploy to Vercel on: push: branches: - main jobs: build_and_deploy: runs-on: ubuntu-latest steps: - name : リポジトリのチェックアウト uses: actions/checkout@v3 - name : Node.jsのセットアップ uses: actions/setup-node@v3 with: node-version: '18' - name : 依存関係のインストール run: npm install - name : Vercelへデプロイ run: | npm install -g vercel vercel --prod --token=$VERCEL_TOKEN env: VERCEL_TOKEN: $ { { secrets.VERCEL_TOKEN } } |
ポイント:
VERCEL_TOKEN
は GitHub の Secrets に設定しておく必要がありますvercel
CLIのインストールも自動で行っています
デプロイ成功の確認と活用方法
確認手順と失敗時のチェック
結論:Actions画面とVercelのログで確認可能です。
確認方法:
- GitHub の「Actions」タブ → 実行ログを確認
- Vercel ダッシュボード → 成功時は新しいURLが表示されます
- 失敗した場合 → エラーメッセージを元に
node_modules
の依存や token 設定を見直す
完成形コードとファイル構成
1 2 3 4 5 6 7 8 9 | my-react-app/ ├── .github/ │ └── workflows/ │ └── deploy.yml ├── src/ │ └── App.js ├── package.json ├── vercel.json(任意) └── README.md |
deploy.yml(前述のYAML)
App.js(例)
1 2 3 4 5 6 7 8 9 | function App() { return ( <div> <h1>CI/CD Test App</h1> <p>GitHub Actions + Vercel 自動デプロイ</p> </div> ); } export default App; |
まとめ
この記事では、Reactで作ったアプリをGitHub ActionsとVercelを使って自動でデプロイする方法を紹介しました。
重要なポイント:
- GitHub Actionsはプッシュやマージのたびに処理を自動実行できる
- Vercelと組み合わせることで、ノーコストで本番公開が可能
- 自動化により、ミスや手間を大幅に削減できる
Reactアプリを継続的に更新する際には、ぜひこのCI/CD環境を導入してみてください。