
ども。 snicker_jpです!
突然、Jenkinsが真っ白になって、社内から通報があったので再起動して対応したんですが・・・
(ちなみに、文字は表示されます!)

どうやら、私の環境だけではないようで・・・
上記サイトを参考に、対応してみました!
まずは、状況の整理をします。
前提条件
現象が起きた環境の前提条件を記載しておきます!- CentOS release 6.5
 - jenkins-1.537-1.1.noarch
 - JenkinsはRPMからインストール
 
Jenkinsのissuesにもあがっているようです。
まとめると、
「tmpwatchのcronで/tmp以下のファイルが消えてしまうため!」
/tmpの下にJettyがファイルをWebUIのファイルを置いてしまうので、このようなことが起きると。
対応方法
対応策はいくつかあるので、わかっている範囲であげておきます!- tmpwatchのcron設定を変更する
 - Javaのオプションに「java.io.tmpdir」を指定してあげる
 
私の環境では、後者を選択しました。
実際の対策
対策の手順です。- Jenkinsを停止する
 - /etc/sysconfig/jenkinsを、編集する
 - Jenkinsを起動する
 
「/etc/sysconfig/jenkins」を、編集する
可能であれば、「Jenkinsを停止する」をしましょう。次に
initスクリプトを編集しようかと思ったのですが、おそらくバージョンアップなどで上書きされてしまうし、あんまりよろしくないので、上書きされない「/etc/sysconfig/jenkins」を選びました。
差分を提示します。
--- /home/snicker_jp/jenkins-sysconfig   2014-01-08 15:03:37.179333667 +0900
+++ /etc/sysconfig/jenkins      2014-01-08 15:24:11.126332277 +0900
@@ -34,7 +34,9 @@
 #
 # Options to pass to java when running Jenkins.
 #
-JENKINS_JAVA_OPTIONS="-Djava.awt.headless=true"
+#JENKINS_JAVA_OPTIONS="-Djava.awt.headless=true"
+tmpdir="/var/cache/jenkins/war"
+JENKINS_JAVA_OPTIONS="-Djava.awt.headless=true -Djava.io.tmpdir=${tmpdir}"
 ## Type:        integer(0:65535)
 ## Default:     8080
- tmpdirを「/var/cache/jenkins/war」に指定
 - JENKINS_JAVA_OPTIONSに「-Djava.io.tmpdir=${tmpdir}」を追加
 
確認
「/var/cache/jenkins/war」以下に、Jettyのファイルが出来ていれば、成功です!akuma3564825645114509647jar ColorFormatter.class css dc-license.txt executable favicon.ico help images jetty-0.0.0.0-8080-jenkins.war-_jenkins-any- jna jna3367531845598125382jar JNLPMain.class LogFileOutputStream$1.class LogFileOutputStream$2.class LogFileOutputStream.class Main.class MainDialog$1$1.class MainDialog$1.class MainDialog.class Main$FileAndDescription.class META-INF robots.txt scripts WEB-INF winstone6878079771321602306.jar winstone.jar
まとめ
- ブログに気が付かなければ、この対策もしなかったのでありがとうございます!
 - LTS(Long-Term Support Release)だけ、使うべきなんですかね!?(LTSは非Jetty)
 - OSSは奥が深い!