経緯
Jenkins にアクセスしたらいきなりの鬼
スタックトレースはこんな感じ
javax.servlet.ServletException: org.apache.commons.jelly.JellyTagException: jar:file:/Users/gongo/.jenkins/war/WEB-INF/lib/jenkins-core-1.574.jar!/hudson/model/View/index.jelly:42:43: <st:include> org.apache.commons.jelly.JellyTagException: jar:file:/Users/gongo/.jenkins/war/WEB-INF/lib/jenkins-core-1.574.jar!/lib/hudson/projectView.jelly:66:22: <d:invokeBody> null at org.kohsuke.stapler.jelly.JellyClassTearOff.serveIndexJelly(JellyClassTearOff.java:117) at org.kohsuke.stapler.jelly.JellyFacet.handleIndexRequest(JellyFacet.java:127) at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:717) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:858) at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:795) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:858) at org.kohsuke.stapler.Stapler.invoke(Stapler.java:631) at org.kohsuke.stapler.Stapler.service(Stapler.java:225) at javax.servlet.http.HttpServlet.service(HttpServlet.java:848) at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:686) skip...
なるほどわからん
結論から言うと
Build Pipeline View の作成を途中で止める とこうなるので、最後までやり遂げましょう
今回の現象が起こりうる対象
Build Pipeline Plugin を導入している
再現手順
新規ビューの作成
/newView
で Build Pipeline View を選択↑ で作成したビューの設定画面が表示されます
↑ の画面で 保存ボタンや適用ボタンを 押さずに トップ画面に移動する
- 鬼降臨
原因
まあよくわかってないんですが、上記 1 の画面で OK を押した時点でシステムログに
Aug 07, 2014 11:10:28 AM hudson.ExpressionFactory2$JexlExpression evaluate WARNING: Caught exception evaluating: h.hasPermission(it, permission) in /view/pipeline/configure. Reason: java.lang.NumberFormatException: null java.lang.NumberFormatException: null at java.lang.Integer.parseInt(Integer.java:454) at java.lang.Integer.valueOf(Integer.java:582
みたいなのが出てたりするので、とりあえず Build Pipeline Plugin の何かがおかしいんでしょう。
それらしきバグ報告も挙がっています
- [#JENKINS-24102] Jenkins gives strack trace on main page - Jenkins JIRA
- [#JENKINS-23749] Incomplete view configuration breaks all Jenkins views - Jenkins JIRA
対策
途中で放り出さないで最後まで設定すれば問題ないと思いますが、万一ブラウザが落ちたりすることもあるので、その場合は
/view/ビュー名/configure
に直接アクセスして保存or適用しなおす、もしくは削除するconfig.xml
から直接、該当しそうな Build Pipeline View の設定箇所を削除する<au.com.centrumsystems.hudson.plugin.buildpipeline.BuildPipelineView ...>
みたいな箇所が探索機能ポイントです
「設定ファイル xml だしぱっとわからねー」という方は JobConfigHistory Plugin を入れておくと便利です
まとめ
Jenkins でエラー出てもぱっとわからない。Java 力が足りない。もしくは紳士さに欠ける