2017年12月30日土曜日

JenkinsのPipelineスクリプトでparallelを制御するThrottle Concurrent Builds Plugin

Pipelineスクリプトのparallelを利用すると並列処理を簡単に実装できます。
ただ、並列度を制御する機構はparallelにはありません。
そのため、parallelを実装したものの実行されるジョブが多くなるとJenkinsが落ちてしまうという事態になってしまったので、
何かないかと探して利用したのが、Throttle Concurrent Builds Pluginでした。
実装方法は、GitHubのREADMEに記載のある通りですが、
node()が実行されるたびにワークスペースが変わってしまうので、
Pipelineの設計によってはワークスペースを固定するような一手間が必要になります。

Pipeline Syntax
Throttle Concurrent Builds Plugin - Jenkins - Jenkins Wiki
jenkinsci/throttle-concurrent-builds-plugin · GitHub

2017年7月29日土曜日

jspc-maven-pluginは5分しかコンパイルできない

compilationTimeoutがデフォルト値として、5分になっているからでした。
公開されているWebのドキュメントは古いので、設定できる内容はソースを確認した方がよいです。
余談ですが、compileThreadsというJSPをコンパイルする時のスレッド数を設定するものもありました。
とりあえず2にしてみたところ、時間が半分程度になりました。
ビルドするマシンパワーに余裕があるのであれば、うまく調整するとよいと思います。

Maven plugin to do JSP Compliation