トップ 一覧 置換 検索 ヘルプ 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にする。


{{category2 ツール,開発}}
{{category2 プログラミング全般}}