β・モック・デモの環境分離方針
基本原則
機能コードは版ごとに複製せず、同じアプリケーションコードを使用する。版ごとの差は、認証方式、データベース、ポート、公開条件、デモ初期化などの環境設定に限定する。
| 環境 | 用途 | 認証 | DB |
|---|---|---|---|
| モック | 日常の画面・機能開発 | 職員選択モック | hoikuict.db |
| 認証版β | ローカルでの実運用フロー試験 | ローカルパスワード | hoikuict-beta-auth.db |
| 公開デモ | 外部公開する架空データ環境 | デモ用の制約付き認証 | 公開デモ専用DB/セッション |
DBファイル、WALファイル、秘密鍵、環境固有設定はGitへ登録しない。コード、モデル、マイグレーション、テンプレート、自動テストだけをGitで各展開先へ反映する。
認証版βの起動
初回だけ .env.beta.example を参考に .env.beta.local を作る。秘密鍵とHMAC鍵は起動のたびに変更せず、同じ値を安全に保管する。
.\scripts\start_beta.ps1
既定URLは http://127.0.0.1:8001/。コード変更の自動反映が必要な場合だけ次を使う。
.\scripts\start_beta.ps1 -Reload
この起動スクリプトはDB作成、デモシード、管理者作成を実行しない。既存DBを開くだけなので、一度設定した管理者、パスワード、業務データは再起動後も保持される。
機能変更の横断反映
- 機能は共通コードへ実装し、自動テストを追加する。
- モック環境と認証版βは同じコードを異なる環境設定で起動して検証する。
- 公開デモ固有ブランチには、共通コードのコミットをmergeまたはcherry-pickし、デモ固有のDB移行・初期データ・公開制限テストを追加する。
- 公開デモ側で先行実装した共通機能も、コミット単位で共通コードへ戻す。
- DBファイルや
.env*.localを版間でコピー・mergeしない。
長期的には、公開デモ固有ブランチの差分をデプロイ設定とデモ専用処理だけに限定し、通常機能の正本を共通ブランチへ一本化する。
実データを使うβへの移行
このローカルβ設定は認証フロー確認用であり、実在する個人情報を投入しない。実データを扱う限定βでは HOIKUICT_ENV=production、HTTPS、本番用秘密鍵、接続元制限、バックアップ、復旧手順、パスワードブロックリスト等を別途構成する。