Hudson setenvプラグインでビルドタスクに変数を渡す

setenvプラグインとは

id:twainyさんが作成されたHudsonプラグインで、これを使うとユーザーが独自に定義した環境変数をビルドタスクに渡すことができます。

setenvプラグインをインストールする

まずはhttp://d.hatena.ne.jp/twainy/20080505/p1より、setenv.hpiをダウンロードしておきます。

Hudsonのプラグインをインストールするのは、とても簡単です。メニューの"Hudsonの管理" → "プラグインの管理"より、"プラグインのインストール"を行います。インストール後は画面の案内に従って、Hudsonを再起動します。

これでsetenvプラグインが有効になりました。


※注:空白が含まれるパスからは、インポートに失敗してしまうようです。これはHudson側の問題だと思われます。

setenvプラグインMaven2環境変数を渡す

まずはmaven2のプロジェクトを用意します。今回はfinalNameに環境変数を渡すことにしました。

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>aqvi</groupId>
  <artifactId>MVNTest</artifactId>
  <packaging>jar</packaging>
  <version>1.0-SNAPSHOT</version>
  <name>MVNTest</name>
  <url>http://maven.apache.org</url>

  <dependencies>
    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>3.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
 
  <build>
    <!-- ここにHudsonから環境変数を渡す -->
    <finalName>${release.name}</finalName>
  </build>

</project>


このMaven2プロジェクトをHudsonのジョブとして起動すると、、、
無事に環境変数で設定した名前のjarができました。



setenvプラグインの使いどころ

setenvプラグインは、antのbuild.propertiesやmaven2のsettings.xmlの内容を補うものです。このプラグインを利用することでプロパティの部分的変更が可能になるため、環境に合わせて上記設定ファイルを作成する作業は軽減されるのではないでしょうか。