トップ 差分 一覧 ソース 置換 検索 ヘルプ PDF RSS ログイン

Jenkins

Jenkins

CI(継続的インテグレーション)を行うためのツール。
本体は、warファイル1つだけで起動も簡単。

起動

java -jar jenkins.war

で起動。

http://localhost:8080

でアクセスできる。もしポートを変更したい場合はhttpPortオプションで変更できる。

java -jar jenkins.war –httpPort=8081

 その他の起動オプション

https://wiki.jenkins-ci.org/display/JA/Starting+and+Accessing+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のセキュリティを参照してください。

デーモン化

 Linux

https://gist.github.com/wataru420/1757063
実行するユーザとjenkinsの各ファイルのパスを決める
ディレクトリ構成や各パスは自由。
とりあえず、ここでは以下の構成にする。

jenkinsのルート
├─bin <--- 実行シェルとかjenkins.warとかを置く
├─home <--- JENKINS_HOME
└─log

start-jenkins.sh の作成

#!/bin/bash
JENKINS_ROOT=/home/test/jenkins
JENKINS_WAR=${JENKINS_ROOT}/bin/jenkins.war
JENKINS_LOG=${JENKINS_ROOT}/log/jenkins.log
JENKINS_OPT="--httpPort=8081  --ajp13Port=-1"
 export JENKINS_HOME=${JENKINS_ROOT}/home
JAVA=/usr/bin/java
nohup nice $JAVA -jar $JENKINS_WAR $JENKINS_OPT > $JENKINS_LOG 2>&1 &


stop-jenkins.sh

#!/bin/bash
kill `ps -ef | grep [j]enkins.war | awk '{ print $2 }'`

/etc/init.d/jenkins

 #! /bin/bash
 #
 # chkconfig: - 85 15
 # description: Jakarta Tomcat Java Servlets and JSP server
 # jenkins Start/Stop the Jenkins Continuous Integration server.
 # Source function library.
 . /etc/rc.d/init.d/functions
 # Get config.
 . /etc/sysconfig/network
 # Check that networking is up.
 [ "${NETWORKING}" = "no" ] && exit 0
 startup=/home/test/jenkins/bin/start-jenkins.sh
 shutdown=/home/test/jenkins/bin/stop-jenkins.sh
 #export JAVA_HOME=/usr/local/java/
 JENKINS_USER=test
 start(){
   echo -n $"Starting Jenkins service: "
   su - $JENKINS_USER -c $startup
   RETVAL=$?
   echo
 }
 stop(){
   action $"Stopping Jenkins service: "
   su - $JENKINS_USER -c $shutdown
   RETVAL=$?
   echo
 }
 status(){
   numproc=`ps -ef | grep [j]enkins.war | wc -l`
   if [ $numproc -gt 0 ]; then
   echo "Jenkins is running..."
   else
     echo "Jenkins is stopped..."
   fi
 }
 restart(){
   stop
   sleep 5
   start
 }
 # See how we were called.
 case "$1" in
 start)
 start
 ;;
 stop)
 stop
 ;;
 status)
 status
 ;;
 restart)
 restart
 ;;
 *)
 echo $"Usage: $0 {start|stop|status|restart}"
 exit 1
 esac
 exit 0

パーミッション変更とデーモン追加

各シェルのパーミッションを設定して

chkconfig jenkins on

でデーモン追加。

基本的な設定

 workspace の設定

[Jenkinsの管理] -> [システムの設定] -> [高度な設定]

にあるワークスペース・ルートディレクトリを

${ITEM_ROOTDIR}/workspace

にすると、jobsの各ジョブの配下にワークスペースが作成される。
バックアップ等の都合を考えて、状況に応じて変更すると良い。

プラグイン

 状態によってjenkinsの表示を変える

http://natural-born-minority.blogspot.jp/2012/12/blog-post.html

Emotional Jenkins Plugin

というプラグインを入れる。ただし、

1.454

以前のバージョンでないと機能しない。


 状態を判定する閾値を設定する

http://shokos.hatenablog.com/entry/2012/08/15/112833
テストが失敗しても状態が「問題ない」と判定される場合は、閾値を設定する。

xUnit Plugin

を導入して、閾値を全て0にする。


[カテゴリ: ツール > 開発]
[カテゴリ: プログラミング全般]



  • Hatenaブックマークに追加
  • livedoorクリップに追加
  • del.icio.usに追加
  • FC2ブックマークに追加

最終更新時間:2013年07月11日 23時24分17秒