2013年10月26日土曜日

FreeBSDでJenkinsを立ち上げる

まずはインストール。
# pkg_add -r jenkins
起動してみる。
# /usr/local/etc/rc.d/jenkins onestart
立ち上げたホストに別PCのブラウザからアクセスしてみる。
http://<ホスト名>:8180/jenkins
残念ながら、表示できず。
ログを確認。
# less /var/log/jenkins.log
Oct 26, 2013 9:49:12 PM hudson.UDPBroadcastThread run
WARNING: UDP handling problem
java.net.SocketException: Invalid argument
        at java.net.PlainDatagramSocketImpl.join(Native Method)
        at java.net.AbstractPlainDatagramSocketImpl.join(AbstractPlainDatagramSocketImpl.java:168)
        at java.net.MulticastSocket.joinGroup(MulticastSocket.java:300)
        at hudson.UDPBroadcastThread.run(UDPBroadcastThread.java:76)
Oct 26, 2013 9:49:12 PM hudson.WebAppMain$2 run
INFO: Jenkins is fully up and running
Oct 26, 2013 9:49:12 PM hudson.DNSMultiCast$1 call
WARNING: Failed to advertise the service to DNS multi-cast
java.net.SocketException: Invalid argument
        at java.net.PlainDatagramSocketImpl.join(Native Method)
        at java.net.AbstractPlainDatagramSocketImpl.join(AbstractPlainDatagramSocketImpl.java:168)
        at java.net.MulticastSocket.joinGroup(MulticastSocket.java:300)
        at javax.jmdns.impl.JmDNSImpl.openMulticastSocket(JmDNSImpl.java:459)
        at javax.jmdns.impl.JmDNSImpl.<init>(JmDNSImpl.java:420)
        at javax.jmdns.JmDNS.create(JmDNS.java:60)
UDPのソケット周りでエラーが発生している模様。
https://code.google.com/p/epid-project/issues/detail?id=1
を見てみると、IPv6のアドレスを設定しているとこのエラーが出るらしい。
パラメータを指定して再度実行。
# /usr/local/etc/rc.d/jenkins stop
# env jenkins_java_opts=-Djava.net.preferIPv4Stack=true /usr/local/etc/rc.d/jenkins onestart
ログにはさきほどのエラーは出なくなったが、依然として表示はできない。
/usr/local/etc/rc.d/jenkinsを眺めてみると以下の記載を発見。
: ${jenkins_args="--webroot=${jenkins_home}/war --httpListenAddress=127.0.0.1 --httpPort=8180 --ajp13ListenAddress=127.0.0.1 --ajp13Port=8009 --prefix=/jenkins"}
ローカルホストのアドレスで待ち受けるようになっている模様。
アドレスの指定を削除してみる。
# env jenkins_java_opts=-Djava.net.preferIPv4Stack=true "jenkins_args=--webroot=/usr/local/jenkins/war --httpPort=8180 --ajp13ListenAddress=127.0.0.1 --ajp13Port=8009 --prefix=/jenkins" /usr/local/etc/rc.d/jenkins onestart
今度は無事、表示された。


サーバ起動時にJenkinsがスタートするように「/etc/rc.conf」に以下の設定を追加して完了。
jenkins_enable="YES"
jenkins_java_opts="-Djava.net.preferIPv4Stack=true"
jenkins_args="--webroot=/usr/local/jenkins/war --httpPort=8180 --ajp13ListenAddress=127.0.0.1 --ajp13Port=8009 --prefix=/jenkins"

0 件のコメント:

コメントを投稿