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