Jenkins または Hudson を使用して、フォークとジョイン ポイントを含むビルドのパイプラインを作成したいと思います。次に例を示します。
job A
/ \
job B job C
| |
job D |
\ /
job E
このような任意の直並列グラフを作成し、スレーブが利用可能なときはいつでも B/D と C を並列に実行するスケジューリングの自由を Jenkins に任せたいと思います。
Join プラグインは、B が実行されるとすぐに参加します。Build Pipeline Plugin は fork/join ポイントをサポートしていません。Throttle Concurrent Builds Plugin (または非推奨の Locks & Latches Plugin) でこれが可能かどうかは不明です。もしそうなら、私は方法を理解できませんでした。解決策の 1 つは、Apache Ivy でビルドの依存関係を指定し、Ivy プラグインを使用することです。ただし、私のジョブはすべて Makefile C/C++/シェル スクリプト ジョブであり、これが可能かどうかを検証する Ivy の経験はありません。
Jenkinsで並列ジョブとその依存関係を指定する最良の方法は何ですか?