1

A、B、Cの3つのジョブがあるとします。これらはすべて、相互作用する統合テストを実行します。CはBに依存し、BはAに依存します。

SCMポーリングが3つのプロジェクトのいずれかをトリガーしたときに、A、B、Cの順にトリガーする方法はありますか?

たとえば、コードをAにチェックインし、数分後にコードをCにチェックインします。最初にAをビルドし、次にBをビルドして統合テストを実行し、次にCをビルドする必要があります。ただし、従来のポーリング間隔ではこれを保証できません。

パラメータ化されたビルドプラグインを見てきましたが、ビルドの無限ループなしでそれを行う方法を見つけることはできません。

編集:以下の答えが最良の選択肢のようですが、私はMercurialを使用しており、複数のMercurialリポジトリをチェックアウトする方法を見つけることができません。

4

2 に答える 2

1

1 つの方法は、ジョブ A が常にジョブ B をトリガーするように構成し、ジョブ B が常にジョブ C をトリガーするように構成することです。これにより、必要な順序で確実に実行されます。

ここで、チェーンを開始するために 3 つのジョブのいずれかに SCM を変更する必要があります。ジョブ A では、3 つのリポジトリの場所すべてに対して SCM チェックアウトを実行できます (ジョブ A では使用しないでください)。

このように、ポーリングは 3 つの場所すべてに適用され、ジョブ A がトリガーされ、必要な適切なチェーンがトリガーされます。

于 2013-01-15T14:17:56.457 に答える