1

私のセットアップ: 2 つのビルド構成 (「ci」と「reset dbs」) を持つ 1 つのプロジェクト

  • 「ci」は、プロジェクトの通常のciビルドです

  • 「reset dbs」は同じ VCS を使用しますが、「common\database」フォルダー内のビルドのみをトリガーします (テストに必要なデータベースのリセットを実行します) (トリガー パターン: +:Common/Database/**)

さて、「データベース」フォルダにチェックインすると、通常の「ci」ビルドの前に「reset dbs」ビルドが常に実行されます。

私が今行ったことは、「ci」ビルドの休止期間を VCS のポーリング間隔と同じに設定することです。これにより、「reset dbs」が常に最初に実行されるはずです。

これまでのところ動作しているようです (いくつかのテスト コミット) - しかし、完全に修正したいと考えています。

これを行うより良い方法はありますか?

「ci」構成をコピーし、リセットビルド後にトリガーされる「ci after reset」と呼ばれる別の方法があります。そして、通常の「ci」で「database」フォルダーを除外します。ハックのように感じます。

ありがとうございました!

更新:全体のアイデアは、すべてのコミットで「reset dbs」を実行する必要はなく、必要な場合にのみ実行することです。その場合、「ci」ビルドの前に実行する必要があります。これまでの回答に感謝します。

4

3 に答える 3

1

teamcityの最近のバージョンでは、ビルドの優先順位を構成できます。これにより、次の方法で問題を解決できます。

  1. 「ci」と「resetdbs」を設定して、ビルドトリガーパターンを使用する必要があるときにトリガーします(すでに行っているようです)。トリガーは、「データベース」フォルダーへの変更が両方の構成をトリガーすることを指定する必要があります。

  2. [ビルドキュー]->[ビルドの優先度の構成]に移動します。ここで、「データベースのリセット」に高い優先順位を付けます。

于 2012-12-21T09:15:14.687 に答える
1

「reset dbs」構成をチェックイン (デフォルト) によってトリガーされるように構成し、「reset dbs」構成 (「依存関係」トリガーと呼ばれる) の完了によって「ci」構成をトリガーすることができます。

于 2009-05-28T17:50:35.430 に答える
1

それが解決するかどうかはわかりませんが、ビルドのトリガーの下に依存関係というタブがあります。そこで、現在のビルドの前に実行する必要があるビルドを選択できます。

于 2009-05-28T17:58:20.440 に答える