Jenkins初期セットアップ

CentOSのアップデート、JavaApacheのインストールまではこちらAWS EC2 CentOSセットアップ - 備忘録を参照してインストールを行います。

次にTomcatのインストールを行います。
Tomcat6.0.35の入手をします。

# wget http://ftp.meisei-u.ac.jp/mirror/apache/dist/tomcat/tomcat-6/v6.0.35/bin/apache-tomcat-6.0.35.tar.gz

ダウンロードしたバイナリーを/usr/local/share/applications に解凍し、CATALINA_HOMEを/usr/local/tomcatとするシンボリックリンクを設定します。

# ln -s /usr/local/share/applications/apache-tomcat-6.0.35 /usr/local/tomcat

CATALINA_HOME=/usr/local/tomcat であるとし、自動起動スクリプト/etc/rc.d/init.d/tomcat を次のように作成します。

#!/bin/sh
#
# Startup script for Apache Tomcat 5.5
#
# chkconfig: 2345 85 15
# description: Apache Tomcat Java Servlets and JSP server
# processname: tomcat
# pidfile: /var/run/tomcat.pid
# config: /usr/local/tomcat/conf/server.xml

# Source function library.
. /etc/rc.d/init.d/functions

# Source networking configuration.
. /etc/sysconfig/network

TOMCAT_SCRIPT=$CATALINA_HOME/bin/catalina.sh
TOMCAT_USER=tomcat

[ -f $TOMCAT_SCRIPT ] || exit 0

# See how we were called.
case “$1″ in
    start)
        # Start daemons.
        if [ -f /var/lock/subsys/tomcat ] ; then
            echo “Tomcat already started!”
            exit 1
        fi
        echo -n “Starting Tomcat: “
        su -s /bin/bash - $TOMCAT_USER -c “$TOMCAT_SCRIPT start”
        RETVAL=$?
        echo
        [ $RETVAL = 0 ] && touch /var/lock/subsys/tomcat
        ;;
    stop)
        # Stop daemons.
        if [ ! -f /var/lock/subsys/tomcat ] ; then
            echo “Tomcat already stopped!”
            exit 1
        fi
        echo -n “Shutting down Tomcat: “
        $TOMCAT_SCRIPT stop
        RETVAL=$?
        echo
        [ $RETVAL = 0 ] && rm -f /var/lock/subsys/tomcat
        ;;
    status)
        status tomcat
        exit $?
        ;;
    restart)
        $0 stop
        $0 start
        ;;
    *)
        echo “Usage: $TOMCAT_PROG {start|stop|status|restart}”
        exit 1
esac

exit 0

サービスの登録を行います。

# chkconfig --add tomcat
# chkconfig --list | grep tomcat
tomcat         	0:off	1:off	2:on	3:on	4:on	5:on	6:off

RunLevel 3,4,5 がonになっていること。

Tomcatの起動確認ができたらJenkinsをTomcatにデプロイします。
ダウンロードしたjenkinsのWeb Application Archive(warファイル)を/usr/local/tomcat/webapps に配置してTomcatを再起動します。

# wget http://mirrors.jenkins-ci.org/war/latest/jenkins.war

http://installed-jenkins-url:8080/jenkins にアクセスして次の画面が出ていることを確認します。

最後にApacheでReverseProxyの設定は、/etc/httpd/conf/httpd.conf の最下部に次の設定を行い起動します。
Tomcatはデフォルトのポート8080で起動していることとします。

ProxyPass /jenkins http://localhost:8080/jenkins
ProxyPassReverse	/jenkins	http://localhost:8080/jenkins
ProxyRequests	Off

	Order deny,allow
	Allow from all

http://installed-jenkins-url/jenkins でJenkinsサイトにアクセスできることを確認できたら成功です。

最後の初期セットアップで、Tomcatの/usr/local/tomcat/conf/server.xml にてURLEncodingのUTF-8の設定を追加します。
これを行わないとJenkinsの環境設定が使えません。
設定の後、Tomcatの再起動を行い初期セットアップは完了です。

   

最後にTomcatの実行ユーザについて、Tomcat実行用のtomcatというIDでnologのユーザでTomcatを起動しようとしたが実行ができなかった。

一般ユーザでの起動は問題ない。JenkinsはTomcatの実行ユーザのホームディレクトリに.jenkinsというディレクトリができている。

中身はpluginとかもろもろjenkins実行に関わる設定等が作られている。nologinユーザではこのあたりの設定が作れないから実行できないっぽいようです。