1

優れた UCM Clearcase システムがあります。統合ストリームに適切なナイトリー ビルドがあり、さまざまなサイト用に CruiseControl.NET を構成しました。

問題は、ビルドが失敗した場合、ベースラインが適用されないことです。これにより、開発者はビルド サーバー自体の問題を修正する必要があります。

これは非常に望ましくありません。ベースラインを適用して * REJECT * したい。次に、REJECTed ベースラインに対してリベースして問題を修正するよう開発者に依頼します。

次のストリーム構成でそれを行うにはどうすればよいですか:

MainStream

    |
    |---Germany_Stream
           |
          / \
          Multiple developer streams
    |
    |---USA_Stream
           |
          / \
          Multiple developer streams

開発者は変更セットをサイトに配信します。つまり、ドイツの開発者からドイツのストリームへ、米国の開発者から米国のストリームへです。

これらの変更は、メインストリームにプッシュされます。毎晩のビルドはそこで行われます。メインストリームでベースラインを適用し、ビルドが成功した場合に推奨する必要があります。失敗した場合は、ベースラインを適用して * REJECT *する必要があります。* REJECT * されたベースラインを、MainStream の 2 レベル下の開発者が利用できるようにするにはどうすればよいですか?

開発者にベスト プラクティスを実行させ、ビルド サーバーに変更を加えないようにする方法を教えてください。

4

1 に答える 1

1

MainStreamの2レベル下にある開発者が、* REJECT *されたベースラインを利用できるようにするにはどうすればよいですか?

リベースを検討している場合は、サイトストリーム(米国またはドイツ)でリベースしてから、開発ストリームをリベースする必要があります

各ストリームはサイトストリームから開発ストリームへのリベース(プルアプローチ)を選択できるため、これは優れたアプローチになる可能性があります。
唯一の問題は、配信のために開発者によっても使用されるストリーム(米国またはドイツ)でのマージが必要なことです。競合が発生する可能性があります。

Mainへのサブストリームを作成することをお勧めしRejected_Streamます。これは自由にリベースできます(最新のREJECTベースラインを取得します)。
そこから、開発者はそのストリームから自分の開発ストリームへの配信を開始することを選択できます。

このアプローチの問題は、各配信を順番に行う必要があることです。

于 2013-01-30T09:51:43.067 に答える