Skip to end of metadata
Go to start of metadata

オリジナル: Starting and Accessing Jenkins

Jenkinsの起動

Jenkinsを起動する一番簡単な方法は、組込みのサーブレットコンテナであるWinstoneを使用することです。以下のようにして起動することができます:

$ java -jar jenkins.war

もちろん、Jenkinsの出力をログファイルに出力したいと思うでしょう。Unixであれば、nohupを使えばできます。

$ nohup java -jar jenkins.war > $LOGFILE 2>&1

Jenkinsにアクセスする

Jenkinsの画面を見るには、ブラウザを立ち上げて、http://myServer:8080 にアクセスしてください。myServerはJenkinsが動作しているサーバーの名称です。

Top of page

コマンドライン・パラメータ

Jenkinsは通常ポート番号8080を使用して起動しますが、他のWebサービスを起動している場合には、このポート番号が既に使用中かもしれません。
その場合は、--httpPort=$HTTP_PORT ($HTTP_PORTはJenkinsが使用するポート番号)で、違うポート番号を指定することができます。他のコマンドライン・パラメータは次の通りです。

コマンドライン・パラメータ

説明

--javaHome=$JAVA_HOME

JavaやAntが必要なビルドを実行するときに使用する$JAVA_HOMEをJenkinsに渡します。これはJenkinsを起動するJREではありません(Jenkins上で使用するJREを指定します)。デフォルトは、Jenkinsを実行するのに使用したJREです。

--httpPort=$HTTP_PORT

Jenkinsが使用するHTTPプロトコルのポート番号を指定します。デフォルトは8080です。これを使用しない(_HTTPS_を使用)ようにするには、-1を指定します。

--httpListenAddress=$HTTP_HOST

このパラメータで、Jenkinsがリクエストを受け付けるIPアドレスを指定できます。環境変数$HTTP_HOSTが指定されていれば、それを利用します。デフォルトでは 0.0.0.0 です。--- この場合、すべての有効なインタフェース上で(httpPortで指定された)ポートをリスンします。

--httpsPort=$HTTP_PORT

HTTPSプロトコルで使用するポート番号を指定します。

--httpsListenAddress=$HTTPS_HOST

JenkinsがHTTPSプロトコルでリクエストを受け付けるIPアドレスを指定できます。環境変数$HTTPS_HOSTが指定されていれば、それを利用します。

--ajp13Port=$AJP_PORT

標準のAJP13プロトコルを使う場合、$AJP_PORTRを利用して、Jenkinsがリスンするポートを指定できます。デフォルトは8009です。(_HTTPS_を使用するため) これを使用しないようにするには、-1を指定します。

--ajp13ListenAddress=$AJP_HOST

JenkinsがAJP13プロトコルのリクエストを受け付ける、IPアドレスを指定できます。デフォルトでは 0.0.0.0 です。 --- i.e. この場合、すべての有効なインタフェース上で(ajpPortで指定された) ポートをリスンします。

--argumentsRealm.passwd.$ADMIN_USER=password

ユーザー $ADMIN_USERのパスワードを設定します。Jenkinsのセキュリティが有効化されている場合、Jenkinsやプロジェクトを設定するために、$ADMIN_USERでログインする必要があります。注意: 管理者権限を持つユーザーも指定しなければなりません。(以下を参照してください)

--argumentsRealm.roles.$ADMIN_USER=admin

$ADMIN_USERを管理者として設定し、Jenkinsのセキュリティが有効化されていれば、Jenkinsを設定できるようにします。詳しくはJenkinsのセキュリティを参照してください。

Jenkinsはすべてのコマンドライン・パラメータをWinstoneサーブレットコンテナに渡しますので、詳しくはWinstone コマンドライン・パラメータ リファレンスを参考にしてください。

コマンドライン・パラメータに注意

Jenkinsは間違ったコマンドライン・パラメータはエラーを出さずに無視します。コマンドライン・パラメータを使う際には注意深く、スペルミスなどがないようにしてください。例えば、Jenkinsの管理者ユーザーを定義するのは、--argumentRealmではなく--argumentsRealmです。

非常に簡単な起動用スクリプト

このスクリプトは、Ubuntuベースのシステム用です。Red Hat向けの適切な起動/停止スクリプトは、こちら http://www.wakaleo.com/component/content/article/206 をご覧ください。

#!/bin/sh

DESC="Jenkins CI Server"
NAME=jenkins
PIDFILE=/var/run/$NAME.pid
RUN_AS=jenkins
COMMAND=/usr/bin/java -- -jar /home/jenkins/jenkins.war

d_start() {
	start-stop-daemon --start --quiet --background --make-pidfile --pidfile $PIDFILE --chuid $RUN_AS --exec $COMMAND
}

d_stop() {
	start-stop-daemon --stop --quiet --pidfile $PIDFILE
	if [ -e $PIDFILE ]
		then rm $PIDFILE
	fi
}

case $1 in
	start)
	echo -n "Starting $DESC: $NAME"
	d_start
	echo "."
	;;
	stop)
	echo -n "Stopping $DESC: $NAME"
	d_stop
	echo "."
	;;
	restart)
	echo -n "Restarting $DESC: $NAME"
	d_stop
	sleep 1
	d_start
	echo "."
	;;
	*)
	echo "usage: $NAME {start|stop|restart}"
	exit 1
	;;
esac

exit 0


HTTPSを、既存の証明書とともに利用する

Jenkinsをビルトインの Winstoneサーバを使って起動させ、かつ、HTTPS (443) で起動し、既存のHTTPS用の証明書も利用したい場合は、このようにします:

--httpPort=-1 --httpsPort=443 --httpsKeyStore=path/to/keystore --httpsKeyStorePassword=keystorePassword

キーストアはJKSフォーマット (JDKの'keytool'として作成されたもの) でないといけません。また、keystore とターゲットの鍵は、同じパスワードでなければいけません。(keystoreの引数をJenkinsの専用のパラメータの後に指定すると、うまく動作しないようです。Winstoneにきちんと渡されない、もしくは、Winstone側で知らないパラメータが指定されると無視してしまうようです。このため、httpsPortの引数の近くにせっていされていて、正しく動作しているかを確認して下さい)

Top of page

  • No labels