デプロイとは何か
デプロイ(deployment)は、作ったアプリやWebサイトの成果物を、利用する環境へ配置し、そこで動かせる状態にする工程です。個人開発では、手元で動くコードをPreview環境や本番環境へ届ける場面で使います。
Gitへコミットしたこと、GitHubへpushしたこと、利用者が本番URLで新しい機能を使えることは、それぞれ別の状態です。
一文でいうと
デプロイとは、特定の版のアプリを、対象の実行環境へ配置して動作可能にすることです。
MDNはWebサイトの公開を、作成したコードやファイルをオンラインへ置き、他の人が見つけられるようにする工程として説明しています。Vercelの公式資料では、デプロイごとにビルド結果と固有URLが作られ、PreviewとProductionを分けて扱えると説明されています。
個人開発のどこで登場するか
変更をほかの端末で確認したいとき、公開前のレビューを行うとき、利用者へ新しい版を届けるときに登場します。Gitと連携してpushをきっかけに自動実行する方法も、CLIとは何かから手動で実行する方法もあります。
典型的な流れは次のとおりです。
対象のコミットを決める
テストとビルドを行う
成果物と設定を対象環境へ配置する
新しい版を起動または有効化する
実際のURLと主要操作を確認する
問題があれば切り戻すか修正版を出す
自動化されていても、どの版と設定が本番にあるかを確認する責任は残ります。
Previewと本番を分ける
Preview環境は、利用者へ影響を出す前に変更を確かめる場所です。本番環境は、正式なドメインとは何かから利用者がアクセスする場所です。
Previewでは次を確認します。
目的のコミットから作られているか
本番データや本番用シークレットへ誤接続していないか
主要な画面と操作が成立するか
エラーや警告が出ていないか
Previewが成功しても、ドメイン割り当て、DNS、キャッシュ、環境変数が異なる本番で同じ結果になるとは限りません。
ビルド、リリース、pushと区別する
push:ローカルのGit履歴をリモートへ送ること
ビルド:ソースから配布・実行に使う成果物を作ること
デプロイ:成果物を特定の環境へ配置すること
リリース:配置した版を正式に利用者へ提供すること
ホスティング:アプリを継続して外部から使えるよう動かすこと
サービスによっては、デプロイ完了と同時に本番リリースされます。別のサービスでは、デプロイ後に昇格や承認が必要です。使っている基盤の言葉と状態を確認します。
成功表示の後に本番URLを確認する
管理画面で「成功」になっただけで完了とせず、利用者が使う正式URLで検証します。
正しい版やコミットが配信されている
トップページだけでなく中心操作が動く
HTTPSとは何かが正常である
本番用の環境変数とは何かが不足していない
ブラウザとサーバーのログに新しいエラーがない
戻す対象と手順が分かる
データベースの構造変更を含む場合は、アプリだけを以前の版へ戻しても動かないことがあります。変更前に互換性と復元手順を決めます。
次に読む記事
公開直前の確認は公開前チェックリスト、正式URLの切り替えは独自ドメインとDNSを安全に切り替えるへ進みます。公開後はリリース後30日の運用カレンダーで監視と振り返りを続けます。