技術をかじる猫

適当に気になった技術や言語、思ったこと考えた事など。

Jenkinsいじってみよう

一人だと要らないんだけど、複数人で始めるとどうしても要るよね。てことでメモ。
https://wiki.jenkins-ci.org/display/JA/Jenkins
インストール方法はマジ簡単。ServletContainer で動かすか、

java -jar jenkins.jar

詳しいのは ここ
セットアップ自体はかなり一瞬。とりあえず Java コマンド実行時に出たログぺたり。

Running from: C:\xxxx\jenkins\jenkins.war
webroot: $user.home/.jenkins
2012/02/12 10:29:12 winstone.Logger logInternal
情報: Beginning extraction from war file
Jenkins home directory: C:\Users\(userDir)\.jenkins found at: $user.home/.jenkins
2012/02/12 10:29:23 winstone.Logger logInternal
情報: HTTP Listener started: port=8080
2012/02/12 10:29:23 winstone.Logger logInternal
情報: AJP13 Listener started: port=8009
....略
2012/02/12 10:29:44 org.jenkinsci.main.modules.sshd.SSHD start
情報: Started SSHD at port 49832
2012/02/12 10:29:44 jenkins.InitReactorRunner$1 onAttained
情報: Completed initialization
2012/02/12 10:29:44 hudson.TcpSlaveAgentListener <init>
情報: JNLP slave agent listener started on TCP port 49833
2012/02/12 10:29:54 hudson.WebAppMain$2 run
情報: Jenkins is fully up and running

基本動作は、ユーザディレクトリで行われ、アクセスは 8080 ポートでできるらしい。


次に eclipsesubversion 用意。どっちも嫌いだから使わないケド、、、。(普段 inteliJ+Hgだから)

一段落したら全部焼き払ってやる!(某ムのつく人)
eclipse から m2e プラグイン突っ込んどけ。幸せになれると思う。

新規MavenProject を作る

ファイル>新規>その他>MavenMaven プロジェクト

設定はお任せ。(取り敢えず全部デフォルトで作った。)

Subversionにコミット。

最近の CollabSubversion はHTTP鯖設定までついてるのな。

  1. http://localhost:3343/csvn/ こんなコトすると、何気にアクセスできる。
  2. 「設定管理」で適当なポート番号(私は8090指定。なんせ80ポート使ってるしー)を指定。
  3. リポジトリ>新規リポジトリ」開いて、新規に追加。
  4. 「ステータス>起動」をポチットな。

そしたらプロジェクトに戻って、早速コミット。
作成したリポジトリが「sample」の場合、「http://localhost:8090/svn/sample」でいける。

Jenkns 設定。
  1. 「Jenkinsの管理>設定」を開いて、JDKMavenインストールディレクトリを指定する。(Ant使う場合はそっちを)
  2. ビルドが壊れた時に通知欲しければメールも設定する。
  3. 「新規ジョブ作成>Maven2/3プロジェクトのビルド」
  4. 名前を適当に突っ込んで「OK」
  5. ソースコード管理システム」に Subversion と、リポジトリを「http://localhost:8090/svn/sample」で指定。認証が要るとか言われるので、設定する。
  6. プロジェクト開いて、「ビルド実行」

これだけで黙っててもテストレポートまで全部出す。
ステキすぎるだろ。

追加プラグイン

取り敢えず、「Jenkinsの管理>プラグインマネージャ>利用可能」から「Cobertura Plugin」を突っ込む。
FindBugs とかいろいろ突っ込みたければどぞ。

まず、pom.xml に以下の追記。

  <build>
    <plugins>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>cobertura-maven-plugin</artifactId>
        <version>2.2</version>
        <configuration>
          <formats>
            <format>xml</format>
          </formats>
        </configuration>
        <executions>
          <execution>
            <phase>package</phase>
            <goals>
              <goal>cobertura</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>

コンソール実行は、「covertura:covertura」で実行可能。

これでレポートが出てくる。
ディレクトリは、「(project_root)\target\cobertura」なので、Jenkins のプロジェクト設定を開いて

  1. 「PostStep>Mavenの呼び出し」で、Maven3のコール「clean cobertura:cobertura」を登録。

ほげっとコミットしてビルドすればおk