0

私たちの Jenkins サーバーは、apk を構築するための 2 つの主要なジョブで構成されています。これらの各ジョブには、ビルド サーバーに接続された Android デバイスに APK をインストールし、UI テストを実行する子ジョブがあります。

例えば:

Project-A-apk
Project-A-tests
Project-B-apk
Project-B-tests

どこ

Project-A-apk が Project-A-tests を
開始 Project-B-apk が Project-B-tests を開始

Project-A-tests と Project-B-tests の両方が同じテスト デバイスにインストールされ、実行されます。

問題は、両方のテスト ジョブが同じデバイスと対話しようとするため、テスト ジョブを同時に実行できないことです。

実行する前に他のジョブ (親チェーンにない) まで待機するようにジョブを構成する方法はありますか?

4

4 に答える 4

0

Build Blocker Pluginを試す必要があります。

このプラグインは、現在実行中のジョブの少なくとも 1 つの名前が指定された正規表現の 1 つと一致する場合、実際のジョブをキューに保持します。

別の方法は、Jenkins executor の数を 1 つに制限することです。これにより、実行中のジョブが 1 つだけになり、他のジョブがキューで待機するようになります。ただし、これにより、テスト デバイスにアクセスしない他の将来のジョブがブロックされる可能性があります。

于 2013-10-14T17:18:53.653 に答える
0

もう 1 つ: Heavy Job プラグイン

Android ジョブに重みを付けて、すべてのエグゼキューターをブロックできます。

于 2013-10-14T18:13:18.530 に答える