31

最近、SVNからgitに移行しました。メインの「リリース」ブランチ(マスター)と連携し、開発者が取り組んでいるすべての機能の機能ブランチを使用します。TeamCityには、すべての機能ブランチ用のプロジェクトがあり、もちろんマスター用のプロジェクトもあります。

SVNを使用したとき、誰かがマスターから機能ブランチに、またはその逆にマージするたびに、そのマージはTeamCityによって1つのコミットとして扱われました。現在、gitを使用すると、すべてのマージにより、TeamCityはこのマージに伴うすべてのコミットを表示します。

これにより、いくつかの問題が発生します。たとえば、誰かがマスターから機能ブランチにマージし、そのマージによってTeamCityプロジェクトに「283の保留中の変更」が表示される場合、ビルドが失敗すると、これらの変更の作成者に、変更があったかのように通知されます。機能ブランチでのこれらの変更。

TeamCityにgitマージを単一のコミットとして扱うように指示する方法はありますか?

押しつぶされたマージを使用してそれを解決することはできますが、それは本当に避けたいものです。

4

3 に答える 3

27

これは数日前に発生した問題と同じであると確信していますが、その逆もあります。dev ブランチを master にマージしたため、TC はマージの一部であるすべてのチェックインをビルドしようとしました。明らかに、私たちが望んでいたものではありません。

これを修正するには、 でTrigger build on each check-inオプションをオフのままにしBuild Triggerます。

ソース ブランチから完全な変更履歴を取得しますが、TeamCity は最新のマージされたコードを使用して宛先ブランチのみをビルドします。そのビルドが失敗した場合、マージは通知される唯一のものであるべきです。

于 2012-12-21T15:48:19.243 に答える
5

これはロングショットであり、おそらくすでに試したことがあるでしょうが、per check-inトリガーオプションをに適用するとうまくいくでしょうInclude several check-ins in build if they are from the same committerか?これは、TCをだましてコミットを単一のバンドルとして構築させるのに十分かもしれません。

于 2012-12-17T01:38:52.180 に答える