2

私は完全なCIソリューションを達成しようとしています.PRから始まります.->ビルド->ビルドはnugetパッケージをoctopusにプッシュします->octopusは新しいパッケージを認識してデプロイします. 自動ビルド プル リクエストに対してプル リクエスト ポリシーがどのように機能するかについて、いくつか明確にしたいと思いました。「チーム メンバーが "dev" ブランチにプル リクエストを作成または更新するとき、このビルドをキューに入れる: MyCoolBuilDefinition」を選択しました。

PR が作成されると、ビルドがすぐに起動することに気付きました。一時的な git ブランチ「refs/pull/123/merge」を作成します。ビルドを行うために、このブランチに事前マージが作成されると思います。これはデプロイしてテストできるビルドですか? それとも、これはビルド ポリシーを満たすためだけですか?

3 つのプル リクエストが作成された場合....PR1 と PR2 が既にビルドされているが、完了とマークされていない場合。PR3 のビルドには PR1 と PR2 のコードが含まれますか? PR が Completed としてマークされている場合にのみ、コードが「dev」ブランチにマージされるため、そうではないと思います。事前マージを行うには、最新の「dev」ブランチからプルする必要があります。また、P1 と p2 が完了としてマークされていない場合、P3 には P1 と P2 のコードがありません。

4

1 に答える 1

3

ビルドはビルド ポリシーを満たすために使用されるだけであり、あなたの懸念は正しいです。事前マージには、他の未完了のプル リクエストの変更は含まれません。現在のプル リクエストが正常にビルドできることを確認するだけです。したがって、「dev」ブランチ用に 2 つのビルド定義を作成することをお勧めします。1 つの定義はプル リクエストを満たすコードをビルドするだけで、別の定義は継続的インテグレーションを有効にしてコードをビルドし、nuget パッケージをプッシュします。

于 2016-02-17T02:22:58.927 に答える