ao-log

インフラ系ITエンジニアのメモ帳です。

openSUSE 12.3 で Jenkins - インストール編

普段、仕事ではシステム運用をやっているのですが、日々の運用監視やサービスイン前のテスト自動化に Jenkins を適用できないか試している方がいました。私も、Jenkins は ITIL でいうところのイベント管理で使うツールとして、いい線いっていると思うんですよね。触発されたので、色々と触って遊んでみようと思います。

この記事は、インストールとサービスの起動までのメモです。

Jenkins のインストール

リポジトリを登録

$ sudo zypper addrepo http://pkg.jenkins-ci.org/opensuse/ jenkins

インストール

$ sudo zypper install jenkins

サービスを起動

$ sudo /etc/init.d/jenkins start

ブラウザで次の URL にアクセスすると、Jenkins の画面にアクセスできます。

http://localhost:8080

ポート番号の変更

ポートは 8080 以外にしたかったので、変更します。

Jenkins の設定ファイルは、openSUSE の場合「/etc/sysconfig/jenkins」。「JENKINS_PORT」を編集し、jenkins サービスを再起動することでポート番号変更が反映されます。

直接、テキストエディタで「/etc/sysconfig/jenkins」を編集してもよさそうですが、せっかく openSUSE を使っているので、YaST の「/etc/sysconfig Editor」から、編集してみます。

Development → Jenkins → JENKINS_PORT

ログの確認

Jenkins のログは次のファイルに出力されます。

/var/log/jenkins/jenkins.log

確認してみると次のような出力が。Jenkins をインストールした PC のホスト名は「SUSE-PC」なのですが、名前解決できてないですね。/etc/hosts を編集して「SUSE-PC」の IP アドレスを「127.0.0.1」で名前解決するようにしたあと、jenkins サービスを再起動することでこの出力がなくなりました。

4 06, 2013 11:46:40 午後 javax.jmdns.impl.HostInfo newHostInfo
WARNING: Could not intialize the host network interface on nullbecause of an error: SUSE-PC: SUSE-PC: 名前またはサービスが不明です
java.net.UnknownHostException: SUSE-PC: SUSE-PC: 名前またはサービスが不明です
        at java.net.InetAddress.getLocalHost(InetAddress.java:1438)
        at javax.jmdns.impl.HostInfo.newHostInfo(HostInfo.java:75)
        at javax.jmdns.impl.JmDNSImpl.<init>(JmDNSImpl.java:407)
        at javax.jmdns.JmDNS.create(JmDNS.java:60)
        at hudson.DNSMultiCast$1.call(DNSMultiCast.java:32)
        at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
        at java.util.concurrent.FutureTask.run(FutureTask.java:166)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
        at java.lang.Thread.run(Thread.java:722)
Caused by: java.net.UnknownHostException: SUSE-PC: 名前またはサービスが不明です
        at java.net.Inet6AddressImpl.lookupAllHostAddr(Native Method)
        at java.net.InetAddress$1.lookupAllHostAddr(InetAddress.java:866)
        at java.net.InetAddress.getAddressesFromNameService(InetAddress.java:1258)
        at java.net.InetAddress.getLocalHost(InetAddress.java:1434)


================================================
【参考サイト】
○Jenkins:openSUSE Linux RPM packages for Jenkins
http://pkg.jenkins-ci.org/opensuse/

○Jenkins wiki:Installing Jenkins
https://wiki.jenkins-ci.org/display/JENKINS/Installing+Jenkins

○Jenkins : Le guide complet:Installing Jenkins on SUSE or OpenSUSE
http://jenkins-le-guide-complet.batmat.cloudbees.net/html/sect-install-jenkins-suse.html

○Novel:SUSE LINUX – Administration Guide - Chapter 13. The SUSE LINUX Boot Concept / 13.7. The YaST sysconfig Editor
http://www.novell.com/documentation/suse91/suselinux-adminguide/html/ch13s07.html