リリースブランチ・モジュール運用ガイド
リリースブランチの管理とモジュールバージョニングに関する運用ガイドです。安定したリリースフローを確立し、効率的なバージョン管理を実現することを目的としています。
TL;DR
- モジュールFIXしたら リリースブランチ を作成
release/vX.Y.Z形式で作成(例:release/v1.3.0)
- 回帰テストなどで 不具合修正 発生のサポートを行い
- TestFlight配布後に不具合を発見した場合、
fix/bug-nameブランチを作成し、プルリクエストを通してリリースブランチにマージ
- リリース後に タグ打ち を行う
- リリース準備完了後、
vX.Y.Z形式のアノテーテッドタグを作成してリモートにプッシュ
バージョニングルール
Semantic Versioning (X.Y.Z)
リリースするバージョン番号は Semantic Versioning に従います。
形式: X.Y.Z
- X (Major): 大きな機能追加、破壊的な変更
- Y (Minor): 新機能追加、機能改善
- Z (Patch): バグ修正、小さな改善
例
- 新機能追加:
1.2.0→1.3.0 - バグ修正:
1.2.0→1.2.1 - 大規模アップデート:
1.9.0→2.0.0
参考リンク
- Semantic Versioning 2.0.0 - 公式仕様(日本語)
- Semantic Versioning 2.0.0 (英語) - 公式仕様(英語)
リリースブランチの作成とプッシュ
モジュール/画面が確定し、リリース準備が整った段階でリリースブランチを作成します。
ブランチ命名規則
release/vX.Y.Z
例: release/v1.3.0
作成手順
- 最新の
developブランチからrelease/vX.Y.Zブランチを作成 - Xcodeで
MARKETING_VERSIONを更新(例: 1.3.0) - 変更をコミットしてリモートにプッシュ
TestFlightへの配布
リリースブランチからTestFlightへビルドを配布し、テストを実施します。
詳細な操作手順は「リリース作業ガイド」を参照してください。
不具合発生時の管理方法(Fix)
TestFlightでのテストや審査前のリグレッションテストで不具合を検知した場合、Fixブランチで対応します。
Fixフロー
リリースブランチ (release/v1.3.0)
↓
不具合検知
↓
Fixブランチ作成 (fix/bug-name)
↓
修正・コミット・プッシュ
↓
プルリクエスト作成
↓
コードレビュー
↓
承認後、リリースブランチへマージ
↓
再配布・再テスト
Fixブランチの運用
1. Fixブランチの作成と修正
- リリースブランチ(
release/vX.Y.Z)からfix/bug-nameブランチを作成 - 不具合を修正 / コミットしてリモートにプッシュ
2. プルリクエストの作成
- GitHub上で
fix/bug-name→release/vX.Y.Zへのプルリクエストを作成 - プルリクエストに必要項目を記載し、レビューリクエスト
- 不具合の内容, 修正内容, テスト結果
3. レビューとマージ
コードレビューを踏まえて承認が出ればリリースブランチにマージする
4. 再配布・再テスト
修正後のビルドを AppDistribution や TestFlight へ再配布し、修正が正しく適用されているか再テストします。
Fix対応の原則
推奨事項
- 修正は最小限に留める
- 必ず再テストを実施
- 新機能の追加は禁止
- プルリクエストでコードレビューを実施し、品質を担保する
対応基準例
- ユーザーに重大な影響がある不具合
- アプリがクラッシュする問題
- 決済などの重要機能が動作しない問題
- セキュリティ上の問題
タグ打ち
テストが完了し、リリース内容が確定した段階でGitタグを付与します。
タグ命名規則
- 形式:
vX.Y.Z - バージョン番号(MARKETING_VERSION)と一致させる
- アノテーテッドタグを使用
例: v1.3.0
タグ作成手順
- リリースブランチの最新状態を取得
- バージョン番号でアノテーテッドタグを作成
- タグをリモートリポジトリにプッシュ
アノテーテッドタグの作成例
# アノテーテッドタグを作成
git tag -a v1.3.0 -m "Release version 1.3.0"
# タグをリモートにプッシュ
git push origin v1.3.0
タグ打ちのタイミング
以下の条件が全て満たされた段階でタグを付与します:
- 全てのテストが完了している
- 不具合が解消されている
- 審査通過し公開の目処が立っている
- ステークホルダーの承認を得ている
App Store Connectで審査に提出し、公開が確定した段階でタグ打ちを行います
リリース完了後の作業
mainブランチへのマージ
本番リリースが完了したら、リリースブランチをmainブランチにマージします。
- リリースブランチからmainブランチへプルリクエストを作成
- レビュー後、mainブランチへマージ
関連ドキュメント
- リリース作業ガイド: TestFlight配布、App Store Connect操作の詳細手順
- 開発環境と開発プロセス: 開発フローとプロセスの詳細