ベースラインを汚染することなくテストを可能にする方法でコードを分岐するにはどうすればよいですか?

StackOverflow https://stackoverflow.com/questions/5395867

質問

TFSを使用して、次のことがあります。

  • メインベースライン
  • 各開発努力の開発部門。これらはベースラインにマージされます。
  • 各リリースで作成されたリリースブランチ。ここではバグ修正が行われ、リリースされ、ベースラインに統合されます。
  • 棚を使用して、ベースラインを汚染することなく、必要に応じて開発ブランチ間でコードを共有できます。コードレビューに役立ちます。
  • 開発の変更をベースラインに提供すると、自動化されたビルドが開始され、テストサーバーに変更を自動的に配置します。

問題は、ビジネスアナリストがテストサーバー上にあるまで変更を確認できないことです。現在、テストサーバーで変更を取得する唯一の方法は、ベースラインにチェックすることです。したがって、BAが何か間違ったものを見つけた場合、残念ながらコードはすでにベースラインにあり、それを取り戻すのに苦労する必要があります。

分岐戦略やプロセスを変更して、BAのベースラインを汚染せずに見たいものを取得する方法はありますか?

役に立ちましたか?

解決

あなたの分岐戦略は、私たちが私の会社で決定したことを正確に聞いています。問題は分岐戦略にあるとは思わない。問題は、テストサーバーに適用するためにベースラインへの変更を確認する必要があるということだと思います。

私の会社では、変更が促進され、生産が実行されるまで、ベースラインに変更がチェックされません。リリースブランチは、テストサーバーに展開されるものです...バグが見つかった場合、またはBASが何かを変更したい場合、ベースラインから変更を除去する痛みを経験する必要はありません。

ただし、多くの同時リリースがある場合、これは、プロダクションに移動する前にすべてのリリースをマージするのに苦労する可能性があります。私の会社では、非常に厳格なリリーススケジュールがあり、一度に生産に向けて単一のリリースしか動作しないようにしています。このため、リリースが生産に促進されるまでリリースをベースラインに統合するのを待つことは、私たちやこれまでの追加作業に問題を引き起こしていません...

どのくらいの頻度でリリースをしますか?リリースブランチをテストサーバーに展開し、ベースラインに現在生産中に展開されているものを表すことができますか?

(私はこれをコメントにしますが、私はまだその特権を獲得することに取り組んでいます...)

他のヒント

私はこのアプローチを好まないでしょう、私は提案します:

安定化されたコードを含むメインベースライン。コードは、リリースが成功した後にのみ、それぞれのリリースブランチからこのブランチに統合されます。

リリースごとにメインから作成されるリリースブランチ。このブランチは、リリースビルドの生成に使用され、環境をテストするために展開されます。

リリースブランチから作成された開発ブランチは、開発の取り組みに使用され、テスト用のビルドを提供する準備ができたときにリリースするためにマージされます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top