質問: ### 前提・実現したいこと JenkinsでCI環境を構築して分散ビルドを実行しています。 しかしながら、ジョブが異なる場合は分散して実行できるものの、 同じジョブが分散して処理されません。 いろいろ設定やらプラグインを探してみたのですが、実現できませんでした。 同じジョブを分散ビルドする方法ありましたらご教授ください。 【構成】 masterサーバ1台、slaveサーバ3台(全てUbunts) 【設定】 ノードの管理 1)各slaveサーバーの設定 同時ビルド数:1 用途:このスレーブをできるだけ利用する 起動方法:SSH経由でUnixマシンのスレーブエージェントを起動 可用性:Keep this agent online as much as possible 2)masterサーバーの設定 同時実行数:4 用途:このスレーブをできるだけ利用する ※masterサーバ自身はジョブは実行せず、slaveサーバに任せてます。 【やってる事】 複数のプロジェクトをJenkinsでビルド、テスト実行をしており、 GitHubのプルリクエストでトリガして、ビルドとテストを実行するジョブなどを作成してます。 この時、例えばWebプロジェクトとBatchプロジェクトが同時にプルリクエストを投げた場合、 それぞれ並列でジョブが動きます。 (WebプロジェクトとBatchプロジェクトのビルド&テストするジョブがそれぞれ別なので) しかしながら、Batchプロジェクトが複数同時にプルリクエスト投げた場合は、 ジョブが並列で実行されず、待ち状態が発生します。 ※ビルド&テストに時間がかかるので、なんとかしたいってのがそもそもの話なので、もしかしたらもっと別の視点での解決方法があるのかもしれません。 ### 補足情報(言語/FW/ツール等のバージョンなど) Jenkins 2.16 Ubunts 14.04.5 LTS
回答: ジョブ中に次のジョブが発生した場合に古いジョブを中断する 上記例で並列ジョブ数の設定と、ジョブキャンセルが可能なことが分かるので参考になると思います。