57 lines
2.5 KiB
Markdown
57 lines
2.5 KiB
Markdown
|
|
# Ponshu Room Lite — AI 規約
|
|||
|
|
|
|||
|
|
## デプロイ手順(必ず守ること)
|
|||
|
|
|
|||
|
|
### Android APK ビルド
|
|||
|
|
```bash
|
|||
|
|
bash build_consumer.sh # maita + eiji の consumer APK を生成
|
|||
|
|
bash build_4_apks.sh # 全4バリアント(consumer + business × maita/eiji)
|
|||
|
|
```
|
|||
|
|
- `.env` から `MAITA_API_KEY` / `EIJI_API_KEY` を読んで `--dart-define` に渡す
|
|||
|
|
- 直接 `flutter build apk` を叩かないこと(キーが secrets.local.dart にフォールバックする)
|
|||
|
|
|
|||
|
|
### ダウンロードページ(Vercel)
|
|||
|
|
```bash
|
|||
|
|
# 必ず web/download/ ディレクトリから実行すること(web/ からではない)
|
|||
|
|
cd web/download && vercel --prod
|
|||
|
|
vercel alias set <deployment-url> ponshu-room-download.vercel.app
|
|||
|
|
```
|
|||
|
|
- **URL**: https://ponshu-room-download.vercel.app
|
|||
|
|
- `releases.json` を更新してからデプロイする
|
|||
|
|
- `web/` ルートは Flutter web アプリなので絶対にデプロイしない
|
|||
|
|
|
|||
|
|
### Gitea リリース(APK アップロード)
|
|||
|
|
```bash
|
|||
|
|
# APK ビルド後に Gitea の API でリリース作成 → アセットアップロード
|
|||
|
|
# 認証: git credential store(provider=generic)から自動取得
|
|||
|
|
GITEA_TOKEN=$(echo "protocol=http\nhost=100.76.7.3:3000" | git credential fill | grep password | cut -d= -f2)
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### iOS / TestFlight
|
|||
|
|
- GitHub tag push(`v*`)で自動トリガー(.github/workflows/ios_build.yml)
|
|||
|
|
- Flutter バージョンは **3.38.x** を使用(pubspec の sdk: ^3.10.1 に対応)
|
|||
|
|
|
|||
|
|
## リリース手順チェックリスト
|
|||
|
|
|
|||
|
|
1. `pubspec.yaml` のバージョン番号を上げる
|
|||
|
|
2. `git tag vX.Y.Z && git push gitea main`(タグも push)
|
|||
|
|
3. `bash build_consumer.sh` で APK ビルド
|
|||
|
|
4. Gitea API でリリース作成 + APK アップロード
|
|||
|
|
5. `web/download/releases.json` を新バージョンに更新
|
|||
|
|
6. `cd web/download && vercel --prod` → alias set
|
|||
|
|
7. iOS CI は GitHub tag push で自動実行
|
|||
|
|
|
|||
|
|
## ディレクトリ構成の注意点
|
|||
|
|
|
|||
|
|
| ディレクトリ | 内容 | デプロイ先 |
|
|||
|
|
|-------------|------|-----------|
|
|||
|
|
| `lib/` | Flutter アプリ本体 | APK / TestFlight |
|
|||
|
|
| `web/download/` | ダウンロードページ | ponshu-room-download.vercel.app |
|
|||
|
|
| `web/` ルート | Flutter web ビルド出力 | **デプロイ対象外** |
|
|||
|
|
|
|||
|
|
## secrets の扱い
|
|||
|
|
|
|||
|
|
- `lib/secrets.local.dart` — gitignore 済み。ローカル開発専用
|
|||
|
|
- リリースビルドは必ず `build_consumer.sh` 経由(`--dart-define` でキーを注入)
|
|||
|
|
- 直接 `flutter build apk --release` すると secrets.local.dart がバイナリに入る
|