アップグレード・ロールバック
NocodilySuite では、構築したすべての API・WebUI に Version(バージョン) を付与します。
Version を基盤としたバージョン管理により、本番環境への変更を安全に行い、問題発生時は素早く以前の状態へ戻せます。
Version とは
Version とは、API や WebUI の「ある時点の確定した状態」に付けられた識別子です。
単なる番号ではなく、変更管理・運用管理の中心的な役割を果たします。
NocodilySuite では、コンソール上でスキーマやロジックを変更しても、
明示的にアップグレードを実行するまで本番環境には反映されません。
これにより、開発中の変更が意図せず本番に影響することを防ぎます。
| Version が担う役割 | 内容 |
|---|---|
| 変更履歴の追跡 | いつ・何が変わったかを記録し、原因調査や監査に活用できる |
| 本番反映のコントロール | 準備が整ったタイミングで、意図的にアップグレードを実行できる |
| ロールバックの起点 | 問題発生時に「どの状態へ戻すか」を正確に指定できる |
| 互換性管理 | API の変更がクライアントに与える影響を、バージョン単位で管理できる |
アップグレード
アップグレードとは、現在のバージョンから新しいバージョンへ移行する操作です。
コンソール上でスキーマ・ロジック・設定を変更し、準備が整った時点でアップグレードを実行します。
アップグレードの流れ
コンソールで変更 → 動作確認(DevelopEnv / StagingEnv) → アップグレード実行 → 本番反映
アップグレードのポイント
- 環境ごとに独立して実行できる — StagingEnv でアップグレードしても、ProductionEnv には影響しない
- 変更前のバージョンは保持される — アップグレード後も旧バージョンは記録されており、ロールバックの起点になる
- コンソールから操作できる — 専門的な CLI 操作やデプロイ作業は不要
アップグレードが必要なタイミング
| シナリオ | 内容 |
|---|---|
| スキーマにフィールドを追加した | 新しいエンドポイントや項目を本番に反映したい |
| バリデーションロジックを修正した | カスタムコード(Embed Code)の変更を反映したい |
| 認証設定を変更した | RBAC・エンドポイント認証の設定を更新したい |
| WebUI のレイアウトを変更した | 画面の変更を本番ユーザーに届けたい |
ロールバック
ロールバックとは、アップグレード後に問題が発生した際、以前の安定したバージョンへ戻す操作です。
なぜロールバックが重要なのか
本番環境へのリリースには常にリスクが伴います。
テスト環境では再現しなかった問題が本番で発生することもあり、
その際に素早く安全に「戻せる」かどうかが、システムの信頼性を左右します。
NocodilySuite では、これまでに構築した各バージョンをすべて保持しており、
コンソールからバージョンを指定してロールバックを即座に実行できます。
ロールバックの流れ
問題を検知 → 影響バージョンを特定 → ロールバック実行 → 旧バージョンへ復元
ロールバックのポイント
- 任意のバージョンへ戻せる — 直前のバージョンだけでなく、任意の過去バージョンへの復元が可能
- 環境ごとに独立して実行できる — ProductionEnv のみロールバックし、StagingEnv はそのまま維持できる
- コンソールから操作できる — 緊急時でも専門知識なしに対処できる
ロールバックが必要なタイミング
| シナリオ | 内容 |
|---|---|
| アップグレード後にエラーが急増した | 新バージョンに起因するバグが本番で発生している |
| API のレスポンスが変わりクライアントが壊れた | スキーマ変更による互換性の問題が発生した |
| 意図しない権限変更が発生した | 認証・アクセス制御の設定ミスを素早く戻したい |
| WebUI の表示が崩れた | 画面変更による UI の問題を即時に解消したい |
バージョン管理の運用フロー
環境とバージョン管理を組み合わせることで、安全なリリースサイクルを構築できます。
DevelopEnv StagingEnv ProductionEnv
───────────── ───────────── ─────────────
v3 (開発中) → v2 (検証中) → v1 (稼働中)
↓ 問題なし
v3 へアップグレード
↓ 確認完了
v3 へアップグレード
- 本番で問題が起きたら ProductionEnv を v1 へロールバック
- StagingEnv で原因を調査し、v4 として修正・再リリース
- 各環境が独立しているため、本番を止めずに調査・修正を進められる