Jenkins PostBuildTaskプラグインでエラーが発生する時の対処法
Posted on Thu, 22 Aug 2013 02:03:27 +0900
結論: PostBuildScript Plugin を使う
Post build task は Jenkins のビルド処理後にタスクを実行できるプラグインですが、 このプラグインを使用しているときに以下のようなエラーがでてビルドが正常に終了しないことがありました。
FATAL: Java heap space java.lang.OutOfMemoryError: Java heap space at java.util.Arrays.copyOfRange(Arrays.java:3209) at java.lang.String.<init>(String.java:215) at java.lang.StringBuilder.toString(StringBuilder.java:430) at hudson.Util.loadFile(Util.java:187) at hudson.model.Run.getLog(Run.java:1745) : :
AbstractBuild.getLog() を引数無しで使っていて 、 バカでかいビルドログファイルを出力していた場合にエラーが発生していました。
同じようなエラーがすでにIssuesにもあげられているようでした。
https://issues.jenkins-ci.org/browse/JENKINS-12830
Jenkins自体の起動オプションで -Xmx1.5g 等を指定してヒープ領域増やしたりしても解決しなかったので、 ビルドログ出力を抑えるのもひとつの解決策かと思いますが、 私は PostBuildScript Plugin を使う事で解決しました。
特に機能的には遜色ないので、 PostBuildScript Plugin を使うのが良いかなと。 同じような問題に遭遇していた方は参考にしていただければ。
各種バージョンは以下の通りです。
- Jenkins 1.524
- Post build task 1.8
- PostBuildScript Plugin 0.13