VirtualBox 上の CentOS 5.6 に、Jenkins と Maven を入れるメモ。WebDAV で共有リポジトリも作る。あちこちのサイトの切り貼り。
以下ほぼ全部 root でやってしまったので、そのまま "#" で書く。たぶん本当は sudo とか使ってもうちょい安全にできるはず。
JDK のインストール
Oracle JDK は下記のサイトにある。
"Download JDK" ボタンを押すとページ遷移。ライセンスに同意して "Accept License Agreement" のラジオボタンを選択した後、"Linuxx86 - RPM Installer" のリンクを右クリックし、URL をコピーする。今回は 32 ビット版を使うが、64 ビット版を使う場合は Linux x64 にするなど、自分の環境に合わせて適切なものを選ぶ。
これを書いている時点の最新だと JDK 6 Update 25 なのでこんな感じ。わざわざ -O オプションで保存ファイル名を指定しているのは、ダウンロード中にリダイレクトが行われるため。指定しないとリダイレクト後の名前になってしまう。
# mkdir /tmp/jdk # cd /tmp/jdk # wget -O jdk-6u25-linux-i586-rpm.bin http://download.oracle.com/otn-pub/java/jdk/6u25-b06/jdk-6u25-linux-i586-rpm.bin
プロキシを通さないといけない場合、環境変数 http_proxy を指定してから wget を実行する。
# export http_proxy=proxy.example.com:8080
ダウンロードしたら、実行権限を付加してから実行する。
# chmod a+x jdk-6u25-linux-i586-rpm.bin # ./jdk-6u25-linux-i586-rpm.bin
自己展開とインストールが行われる。展開された rpm ファイルがそのまま残されるので、インストールが終わったら消しておく。
# rm *.rpm
ところで、CentOS 5.6 のインストール中、インストールするソフトウェアの選択で「Java 開発」を選んでいると、Java 1.4.2 相当の gcj がインストールされる。邪魔になるのでアンインストールする。なお、これをアンインストールすると、Java 関連のパッケージが他にもいくつか一緒にアンインストールされる。チラ見した限りでは、別に問題なさそうだったので今回は気にしないことにする。
# yum remove java-1.4.2-gcj-compat
ついで /etc/profile を編集。Oracle JDK は /usr/java/default にインストールされるので、パスを通す。ログインシェルを csh 系にしている場合は /etc/csh.login になるのかな。
export JAVA_HOME=/usr/java/default export PATH=$PATH:$JAVA_HOME/bin export CLASSPATH=.:$JAVA_HOME/jre/lib:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar
確認するにはその場で /etc/profile を実行し、java と javac のバージョンを表示する。
# . /etc/profile # java -version java version "1.6.0_25" Java(TM) SE Runtime Environment (build 1.6.0_25-b06) Java HotSpot(TM) Client VM (build 20.0-b11, mixed mode, sharing) # javac -version javac 1.6.0_25 #
ほんとはこの後 alternatives という仕組みを使って JDK を切り替えられるように設定するみたいなんだけど、使い方を調べてないので今回はスキップ。
その他の環境でのインストール手順については、上記の JDK ダウンロードページで Installation Instruction を参照。
Jenkins のインストール
Jenkins 公式サイトのトップページで "Red Hat/Fedora/CentOS" のリンクを選択すると、インストール手順の説明ページが表示される。これはダウンロードページを兼ねているようで過去の各バージョンへのリンクもあるが、そこから手動でダウンロードはしない。
まずはページに書いてあるとおりの手順を実行する。
# wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat/jenkins.repo # rpm --import http://pkg.jenkins-ci.org/redhat/jenkins-ci.org.key # yum install jenkins
これで /var/lib/jenkins に Jenkins がインストールされた。jenkins ユーザも作成されており、そのホームディレクトリが /var/lib/jenkins になっている。
起動する前に設定が 2 つ。まず、Jenkins が使用する JDK のパスを設定する。デフォルトでも /usr/bin/java などにコマンドがあればそれを使ってくれる。alternatives でシンボリックリンク作成済みであれば問題ないんだけど、今回はそこをスキップしているので代わりにパスを明示的に設定する。手順としては、/etc/sysconfig/jenkins を編集して、
JENKINS_JAVA_CMD=""
となっている箇所を以下のように変更して保存する。
JENKINS_JAVA_CMD="/usr/java/default/bin/java"
最後にもうひとつ必要なのが、ファイアウォールの設定を変更して、Jenkins が使用するポート 8080 を開けること。設定ファイル /etc/sysconfig/iptables を直接編集して以下の内容を追加する (ファイル末尾ではダメ。REJECT とか COMMIT とか書いてある行よりは前でないといけない)。
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT
iptables コマンドを使って追加するのでもいいらしい。ただし、iptables コマンドでの設定変更は再起動で失われるので、続けて以下を実行することで内容を上記の設定ファイルに保存する必要がある。
# service iptables save
なお、service コマンドは /etc/init.d 配下のスクリプトを実行するだけの便利コマンドなので、
# /etc/init.d/iptables save
でも同じことである。また、この場合に限っては iptables-save コマンドを実行することでも保存できる。今回の手順では、基本的には service コマンドを使うことにする。
iptables への設定変更が終わったら再起動する。
# service iptables restart
で、次はいよいよ Jenkins の起動。
# service jenkins start
ブラウザで http://ホスト名:8080 を開いて、Jenkins のダッシュボードが表示されれば OK。「あんまりかっこいいロゴじゃないよねコレ……」とやるせない気持ちになっておく。
Jenkins のシステム設定に進みたいところだけど、それは後回しにして Maven の設定を行う。