はじめに
アプリを開発しただけでは、ユーザーは使えません。
「作ったアプリを、誰でもアクセスできる場所に公開する」こと、それが デプロイ(Deploy) です。
本記事では、
- デプロイの基本的な考え方
- よく使われる方法・ツール
- 開発規模に応じた応用パターン
- 2025年現在の最新トレンド
までを一気に解説します。
目次
- デプロイとは?
- 代表的なデプロイ方法まとめ
- ステージごとのデプロイ戦略
- CI/CDとの関係
- デプロイのトラブルと対策
- 2025年のデプロイトレンド
- まとめ
デプロイとは?
アプリやサービスを、ユーザーがアクセスできる本番環境に配置・公開すること
- 開発者のローカル環境 → 本番環境への「移動・配置・起動」
- Webサービス、API、バッチなど対象は多様
- チーム開発では、「安全・再現可能・自動化された」デプロイが重要
代表的なデプロイ方法まとめ
1. 静的サイトのデプロイ(HTML/CSS/JS)
方法 |
特徴 |
代表サービス |
GitHub Pages |
リポジトリにPushで即公開 |
GitHub |
Netlify/Vercel |
自動ビルド+デプロイ |
Jamstack系に強い |
Firebase Hosting |
SPA/PWA向け |
Google連携◎ |
2. 動的アプリ(Node.js、Rails、Djangoなど)
方法 |
特徴 |
代表サービス |
Heroku/Railway |
PaaS(インフラ不要) |
学習用・中規模開発 |
VPS(さくら/ConoHa) |
SSHアップロード+PM2等で起動 |
自由度高いが手動管理多め |
Docker + VPS |
コンテナ単位で管理 |
本番再現性◎、構成が複雑に |
3. クラウドコンテナ/サーバーレス
方法 |
特徴 |
代表サービス |
AWS Elastic Beanstalk |
PaaS寄りだが柔軟 |
AWSフル活用に向く |
Google Cloud Run |
コンテナ1個から実行 |
手軽かつスケーラブル |
AWS Lambda |
サーバー不要でAPI提供 |
小規模〜イベント駆動 |
ステージごとのデプロイ戦略
ローカル開発 ➝ ステージング ➝ 本番
ステージ |
目的 |
デプロイ対象 |
開発環境 |
手元での動作検証 |
localhost / Docker |
ステージング |
テスト・レビュー用 |
staging.example.com |
本番環境 |
ユーザーが触る環境 |
example.com |
- ステージングでの自動テスト/ビルドが安全性のカギ
- 本番ではロールバック戦略が重要(例:Blue-Green Deploy)
CI/CDとの関係
**CI(継続的インテグレーション)とCD(継続的デリバリー/デプロイ)**は、現代のデプロイには不可欠。
一般的なCI/CD構成(例:GitHub Actions)
name: Deploy to Vercel
on:
push:
branches: [main]
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- run: npm install
- run: npm run build
- run: vercel --prod --token=${{ secrets.VERCEL_TOKEN }}
- GitHubにPushするだけで、自動的にビルド&本番反映
- Firebase, Cloud Run, ECSなども同様に設定可能
デプロイのトラブルと対策
よくある問題 |
原因 |
解決策 |
動かない・落ちる |
.env 漏れ / パーミッション / ポート設定 |
環境変数とログをチェック |
前のコードが表示される |
キャッシュ / CDN |
キャッシュクリア、バージョン付与 |
差分だけ更新できない |
手動アップロード |
GitベースのCI/CDに移行する |
2025年のデプロイトレンド
トレンド |
解説 |
Cloud Run + GitHub Actions |
最小構成でフルCI/CDを実現。コスト効率・拡張性◎ |
Vercel + Edge Functions |
フロントとサーバーレスを統合。SSG+動的APIが当たり前に |
Infrastructure as Code (IaC) |
Terraform/CDKでインフラもコード管理が主流に |
Preview環境の自動生成 |
プルリクごとに自動でURL発行 → 非エンジニアレビューも可能 |
分散アプリの自動スケーリング |
KubernetesやFargateによるオートスケール化 |
まとめ
要点 |
内容 |
デプロイとは |
アプリを「公開する」ための一連の作業 |
手動より自動 |
CI/CDを取り入れて安全&効率化 |
サービス選び |
静的ならVercel、動的ならRender、拡張性重視ならCloud Run |
トレンド |
コンテナ化、IaC、エッジ実行、オートスケールが今の主流 |