jenkinsでGraphics N/Aが出た時にしたこと

jenkinsでGraphics N/Aエラーがでた時の対応。

新しい環境にjenkinsをインストールしてみたら、添付のようなエラーが出た。

Graphics N/A ??

「jenkins Graphics N/A」でググってみたら、どうやら利用しているJDKが原因のよう。
(日本語の情報が結構少なかった。。)
とりあえず解決までにやったことを残しておく。

1.そもそもどこら辺がおかしいの?

調べてみたら、今日から始めるJenkins CI(PHP,Windows,XAMPP使い向け) – 48JIGENとかJenkins got java.awt.headless problem – wiki.jenkins-ci.orgの報告があり。
「openjdkだとうまくいかないよ」って書いてあったので、一応自分の環境のjavaを確認

$ java -version
java version "1.6.0_22"
OpenJDK Runtime Environment (IcedTea6 1.10.6) (rhel-1.43.1.10.6.el6_2-x86_64)
OpenJDK 64-Bit Server VM (build 20.0-b11, mixed mode)

案の定openjdkだったので、ここを何とかしてみることにした。
(もう一つの環境で利用しているjenkinsはopenjdkでも大丈夫。OSの違いなのか、Jenkinsのバージョンの違いなのか。。)

2.じゃあSunのJDKをダウンロードしてみる

ここからSunのJDKをダウンロード。

3.適当な環境に置いて、ソースからインストール

$ mv jdk-6u32-linux-x64-rpm.bin /usr/local/src/
$ chmod 755 jdk-6u32-linux-x64-rpm.bin
$ ./jdk-6u32-linux-x64-rpm.bin

何度かEnterを求められるので、とりあえずEnter。

実行完了後、不要ファイルを削除

$  rm -f sun-javadb-*.rpm

この時点ではまだ既存のものを見に行っているので、設定を変更する。

4.環境設定の変更

/etc/profileの最下部に以下の記述を追加

export JAVA_HOME=/usr/java/jdk1.6.0_32
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/jre/lib:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar

5.上で設定したものを有効にする

$ source /etc/profile

6.コンパイル&実行環境の変更

$ alternatives --install /usr/bin/java java /usr/java/jdk1.6.0_32/bin/java 100

優先度は適当に

7.もう一度確認

$ java -version
java version "1.6.0_32"
Java(TM) SE Runtime Environment (build 1.6.0_32-b05)
Java HotSpot(TM) 64-Bit Server VM (build 20.7-b02, mixed mode)

いけた!

8.で、jenkinsを再起動

$ /etc/init.d/jenkins restart


いけた!