アプリとgitflowのA / Bテストを処理するためにどのような戦略を使用していますか。
概要:
私たちは、大きなアプリを開発して維持する6人のプログラマーのチームです。これまでのところ、私たちはgitflowに取り組んでおり、数年前から完全にうまく機能していたプロセスにいくつかのアドオンを追加しました。簡単に言うと、次のように使用します。
- マスターブランチ(公開バージョンのコードのみ)
- 最終的な冗長性テストの後にマスターにマージするリリースブランチ
- 極端な場合にのみmasterブランチと対話する修正プログラム
- 開発とモジュールの完成とテストが完了した時点で蓄積され、最終的にリリースにマージされます。
- / featureは、開発から分岐し、それらが完了してテストのさまざまな段階を通過すると、機能を追加する開発にマージして戻る機能のグループです。
- / fix_developは、以前のバージョンで発生したバグの修正を含む機能のグループであり、ホットフィックスを開始するのに緊急ではないものです。
アプリが進化するにつれ、UXチームや他の利害関係者チームとともに、新しいリリースに2つのバージョンがあり、ユーザーがいずれかのバージョンを好むかどうかに基づいて、より強力なA / Bテスト戦略を採用しています。ユーザーにとって意味のあるバージョンである必要があります。
それを説明したら、問題は次のとおりです。gitflow でA / Bテストバージョンのコードを管理するために、どのような戦略を使用または推奨しましたか?
私が検討したオプションは、どういうわけか一貫性がありません。たとえば、AブランチとBブランチをマスターからブランチしてから、リリースブランチをどちらかに結合します。リリースブランチに含まれるコードを機能に分離する方法を知りません。枝。別のオプションは、リリースAとBのブランチを作成し、AとBのブランチを開発することです。これは、ブランチが多すぎてチームメイトにとって混乱のように思えます。
あなたの意見を聞いて、ありがとう!
更新: 開発するアプリはAndroidアプリであり、A / Bテスト用にPlayStoreプラットフォームを使用してA / Bテストを実装しています。これには、2つのAPKを作成し、そのうちの1つをロールアウト%でアップロードする必要があります。また、物事をよりシンプルに保つため、またボタンの位置よりも変更が大きい場合があるため、1つのAPKにAおよびBテスト用の独自のスイッチを追加しないことにしました。