リリース管理

はじめに

リリース管理は、アプリケーションを開発から本番へ進めるための、再現可能で検証可能、かつ復旧可能なプロセスです。変更は開発で完了し、ステージングで検証してから本番へ公開します。移行ファイル、バックアップ、実行ログ、検証結果は保管してください。

開発環境 -> ステージング環境 -> 本番環境

リリースモデル

能力目的段階
バージョン管理開発中のチェックポイントを保存開発
変数とシークレット環境ごとの設定と機密情報を分離全段階
マルチアプリ業務モジュールの境界を分離設計と協業
バックアップ管理復旧可能な本番状態を保存リリース前と運用
移行管理設定と構造を対象環境へ公開ステージングと本番

環境設定

DB 接続、外部サービス URL、テストアカウント、トークン、API Key、Webhook はページ、ワークフロー、プラグイン設定に直接書かず、変数とシークレットで参照します。

関連ドキュメント: 変数とシークレット

開発段階

データモデル、ページ、権限、ワークフロー、プラグイン設定を大きく変更する前後でバージョンを作成します。環境間の公開は移行管理を使い、本番復旧はバックアップ管理を使います。

関連ドキュメント: バージョン管理

モジュール分割

小規模なら単一アプリから開始できます。規模が大きくなったら、CRM、チケット、資産、HR、レポート、運用バックエンドなどを別アプリに分けます。ユーザー、組織、認証、権限、共有データを先に設計してください。

CRM: 開発 -> ステージング -> 本番
チケット: 開発 -> ステージング -> 本番
資産: 開発 -> ステージング -> 本番

関連ドキュメント: マルチアプリ管理

リリース前準備

本番公開前にバックアップを作成します。重要なリリースでは独立環境で復元を検証します。バックアップはデータベース、アップロードファイル、必要な storage を含めます。

関連ドキュメント: バックアップ管理

リリース実行

まずステージングへ公開します。検証が通った同じ移行ファイルを本番で使用します。

20250106234710

20250105194845

20250105195029

本番ではメンテナンス時間を確保し、ユーザーへ通知し、新規書き込みを止めます。マルチノードでは移行前に 1 ノードへ縮小します。完了後、主要フローを検証してアクセスを戻します。

移行ルール

主な戦略は上書き、スキーマのみ、スキップです。組み込みテーブルは通常既定戦略に従います。ユーザー定義の業務データ表は通常スキーマのみを使います。メタデータ表はシナリオに応じて上書きを選択できます。

参照: アプリケーションと主要プラグインの組み込みテーブル

関連ドキュメント: 移行管理

ロールバックと復旧

失敗時はまずリリース前バックアップを使います。現環境が安定していればそこで復元し、不安定な場合は独立環境で復元、検証後にトラフィックを切り替えます。

関連ドキュメント