1

したがって、依存関係が次のようになるいくつかのプロジェクト (A、B、C、D) があります。

  B
 / \
A   D
 \ /
  C

つまり、B と C は A のアーティファクトに依存し、D は B と C の両方のアーティファクトに依存します。

私はいくつかのことをしたいと思います:

  1. 以前に成功したビルドのアーティファクトがプロジェクトで使用されます。たとえば、プロジェクト C のビルドがトリガーされると、以前に正常であることが検証されたプロジェクト A の成果物が使用されます (別名、テスト パス)。
  2. プロジェクトでトリガーされたビルドは、それらに依存するプロジェクトでビルドもトリガーします。たとえば、B プロジェクトに変更が加えられた場合、B プロジェクトがビルドされ、ビルドされたばかりの B プロジェクトの成果物を使用して D プロジェクトがビルドされます。プロジェクト A の変更は、A、B、C (並行)、D の順にすべてを再構築します。

「ビルドトリガー」セクションで VCS トリガービルドを達成できます。

「依存関係」セクションで、「最後に成功したビルド」からアーティファクトの依存関係を追加し、アーティファクトをプルすることで、アーティファクトの依存関係を実現できます。

トリガーされたビルドを正しい依存関係チェーンで正しい順序で達成する方法がわかりません。プロジェクト A をプロジェクト B のスナップショット依存関係にすると、B をビルドする必要があるときに、A が再ビルドされてから B が再ビルドされます。同様に、A で変更が発生した場合、A だけが再ビルドされます。A を変更して、すべてのプロジェクトを再構築したいと考えています。

これは可能ですか?私は TeamCity 7.1.3 を使用しています。

4

2 に答える 2

3

VCS トリガーを使用することもできます。セット B と C にはスナップショット依存関係として A があり、D にはスナップショット依存関係が B と C にあります。次に、4 つすべてに VCS ビルド トリガーを設定し、オプション「スナップショット依存関係の変更をトリガーする」を確認します。

こちらです -

A の変更: A が再構築され、これにより B と C のビルドがトリガーされます。これらのビルドは、D のビルドもすべて正しい順序でトリガーします。

B または C の変更: A が変更されていない場合、既存のビルドを使用し、自分自身を再構築して、D のビルドをトリガーします。

D の変更: A、B、および C が変更されていない場合、既存のビルドを使用して新しい D をビルドします。

バージョン7.1.2でこのセットアップを使用しています

于 2013-08-27T21:52:50.203 に答える
1

アーティファクトの依存関係と「Build Finished」ビルド トリガーを使用することで、必要なものを取得できることがわかりました。

于 2013-06-24T18:59:51.477 に答える