JenkinsをTomcatで動作させる。

はじめに

nohup を利用した運用でも十分利用できますが、動作ログの管理が面倒になります。
そこで、Tomcatなどのアプリケーションサーバを利用します。
内容は、公式サイトほぼそのままです。

Tomcat を用意する

まずは、Tomcatダウンロードして、解凍します。

Jenkins を実行できるようにする。

Tomcatは、Jenkinsだけを運用するため、解凍したTomcatディレクトリ内のwebapps/* をすべて削除します。
次に、jenkins.war を webapps/ROOT.war にコピーします。
実行前にTomcat 用の環境変数を設定するsetenv.shを作成します。
setenv.sh では、 Jenkins のホームディレクトリとヒープサイズを設定します。
ヒープサイズは、環境にあわせて調整すると良いです。
binディレクトリのファイルに対して、アクセス権を変更し、実行します。
Jenkinsが、ROOT.warとして動作するため、
http://localhost:8080/ のみでアクセスすることができます。

手順

 $ wget http://ftp.kddilabs.jp/infosystems/apache/tomcat/tomcat-7/v7.0.8/bin/apache-tomcat-7.0.8.zip
 $ unzip apache-tomcat-7.0.8.zip
 $ cd apache-tomcat-7.0.8
 $ rm -r webapps/*
 $ vi bin/setenv.sh ## 次の内容を書き込みます。
...
#!/bin/bash
export CATALINA_OPTS="-DHUDSON_HOME=/path/to/hudson_home -Xmx512m"
...
 $ chmod 755 bin/*.sh
 $ ./bin/catalina.sh start

動作ログの管理も Tomcat 側で管理されるので長期的に運用する場合に楽になります。

追記しました

コメントを参考に、setenv.sh を利用する手順に変えました。