デプロイとは?
デプロイは、作成・更新したWebサイトやアプリをサーバーなどの実行環境へ配置し、利用できる状態にすることです。日本語では「本番反映」「公開」と説明されることもあります。
Webサイトなら、ファイルを本番サーバーへ送り、必要に応じて依存関係の準備、データベース更新、キャッシュ削除、動作確認などを行います。単に一つのファイルをコピーする場合も、自動化された複数工程を実行する場合もあります。
プッシュとの違い
プッシュは、GitのコミットをGitHubなどのリモートリポジトリへ送る操作です。デプロイは、利用者がアクセスする環境へ成果物を反映する操作です。
この二つは別ですが、mainブランチへプッシュまたはマージするとGitHub Actionsなどが自動でデプロイする設定もあります。その場合、プッシュがデプロイの開始条件になります。
本番・ステージング・開発環境
- 開発環境:手元で編集や確認を行う場所
- ステージング環境:本番に近い条件で公開前確認を行う場所
- 本番環境:実際の利用者がアクセスする場所
Gitの「ステージングエリア」と、公開前確認用の「ステージング環境」は別の意味です。同じ「ステージング」という言葉が出るため、文脈で区別します。
安全にデプロイするために
本番反映前に、対象ブランチ、テスト結果、設定値、バックアップ、元へ戻す方法を確認します。GitHubのEnvironmentでは、承認、対象ブランチの制限、Secretsなどを設定できます。
AIへ「デプロイして」と頼む場合も、公開先と影響範囲を確認せず実行させないことが大切です。コミットやプッシュより外部への影響が大きく、利用者が見る状態を直接変える操作です。
デプロイとリリースは近い意味で使われることがありますが、厳密には同じとは限りません。デプロイ済みの機能を設定で利用者から隠し、後日有効化してリリースする運用もあります。サイトやチームで言葉の使い方が違う場合は、「サーバーへ配置すること」と「利用者へ提供を始めること」を分けて確認します。