AntHillの使い方

機能:

  • 自動的にCVSからコードを取得してビルドしてくれる(※CVS以外のバージョン管理ツールにも対応しているようですが試してません)
  • ビルドはスケジュール化して定期的に実行できる
  • スケジュールがあっても、更新されていないときにはビルドしないでくれる
  • antスクリプトを実行してくれるので、antのJUnitタスク等を仕込んでおけば自動実行してくれる
  • antのcopyタスク等を仕込んでおけばデプロイも可能
  • antスクリプトをbuildとpublishの2回に分けて実行できるので、ビルドまでOKか、デプロイ&テストまでOKか、を判別できる
  • ビルドするたびにCVSにタグを付けてくれる
  • ビルドするたびに前回からの差分リストをcommit時に入力したコメントも含めてログに出力してくれる
  • ビルドするたび(またはビルドに失敗、publishに失敗するたび)に指定のアドレス(複数可)宛てにメールを送ってくれる
  • 設定、ログの参照などがweb経由で可能

事前準備:

  • JDK、Antをインストールしておく
  • Tomcatをインストールしておく
  • CVSクライアントをインストールしておく。

(CVSサーバがローカルになくてもよく、単にcvsコマンドが実行できる環境があればOKです。Windowsの場合はWinCVSをインストールしてパスを通しておくのが楽。)

(コマンドプロンプトからcvs -d :pserver:.... loginを実行。Linux上でもWindows上でもユーザのホームディレクトリ上に.cvspassファイルができます)

AntHillのインストール:

例)
Linuxの場合:/usr/local/anthill
Windowsの場合:C:\AntHill

  • 中身のanthill.warをTomcatのwebappsディレクトリにコピーする

AntHillの初期設定:

  • ブラウザで「http://tomcatのサーバ名:ポート番号/anthill/」を開く
  • AntHillのインストール先を訊いてくるので、例えば/usr/local/anthillを答える
  • 「Anthill Properties」のリンクをクリック
  • 「Anthill Properties」で以下を設定します。
    • anthill.home : AntHillのインストール先(ex./usr/local/anthill)
    • anthill.ant.home : もともと「lib/ant1.5.1」となっているが、違うバージョン(例えば1.6.1)のantを使う場合はanthill/libの下に「ant1.6.1」というディレクトリを作って、ant/libの中身をコピーし、ここに「lib/ant1.6.1」と指定する
    • anthill.mail.host : AntHillがメールを送る際に使用するメールサーバ
    • anthill.mail.from : AntHillがメールを送る際に使用する差出人アドレス
    • anthill.server : http://tomcatのサーバ名:ポート番号/anthill/

あとはデフォルトのままでも大丈夫です。

  • 外部ネットワークのCVSに接続できる環境なら、サンプルのプロジェクトをBuildしてみる。接続できない環境では無理なので次へ。

プロジェクトの設定:

AntHillの設定が終わったらプロジェクトを作成します。

  • Anthill Build Management Server画面で「Create New Project」をクリック
  • anthill.project.name : プロジェクト名
  • anthill.build.script : build.xmlなど、antのビルドファイル
  • anthill.build.ant.params : デフォルト以外のターゲット名など、antへの引数を指定
  • anthill.java.extra.options : -Xmx128mなどのant実行時のJavaオプションを指定。AntHillのbuild.logでOutOfMemoryが出る場合などはここでの設定が必要です。

ここまで書いて、一旦Updateボタンを押します。

次にプロジェクト一覧から作成したプロジェクトのEditを選択します。

  • anthill.version.adapterの「Configure com.urbancode.anthill.adapter.UrbanCodeVersionAdapter」リンクを押します。
  • com.urbancode.anthill.adapter.UrbanCodeVersionAdapter Properties画面が出るので、version.fileにバージョン管理用ファイル名(例:anthill.version)を入力してUpdateボタンを押します。
  • anthill.repository.adapterの「Configure com.urbancode.anthill.adapter.CVSRepositoryAdapter 」リンクを押します。
  • com.urbancode.anthill.adapter.CVSRepositoryAdapter Properties画面でCVSの設定をします。
    • repository.cvs.work.dir : デフォルトのまま(work)
    • repository.cvs.module : CVSのモジュール名
    • repository.cvs.root : CVS ROOT(例 :pserver:foo@cvs_server:/usr/local/repository)
    • repository.cvs.anthill.user : CVSにアクセスするためのユーザ名(例:foo)
    • repository.cvs.branch : (空欄のまま)

Updateボタンを押し、プロジェクトのProperties画面でもUpdateボタンを押します。

バージョン管理用ファイルの作成

AntHillではビルド毎にバージョン番号をインクリメントしていきますが、これを管理するためのテキストファイルがCVS上に必要です。

  • version.fileの項で設定したバージョン管理用ファイル名でテキストファイルを作ります。内容は以下のような感じです。
0.0.0

数字がいくつか並んでいますが、AntHillは一番最後の数値をインクリメントしていきます。他の数値はバージョン番号を指定したりする場合に使用します。
例えば、バージョン0.0.x系列で開発を進めていって、リリースを機に1.0.x系列に切り替えるとか。ここの数字を使って「v_0_0_x」という感じでビルドするたびCVS上にタグを付けてくれますし。

このファイルをモジュールの直下のディレクトリに置き、CVSにアップします。

AntHillでのビルド

  • プロジェクトの「Build」リンクをクリックし、Force Buildの欄にチェックをつけてBuildボタンを押します。(「Force Build」をチェックするとすぐにビルドを実行しますが、付けない場合にはスケジュールに従ってビルドします。)
  • しばらく待ってから結果を確認します。/anthill/projects/プロジェクト名/buildLogs/の下に各種ログが生成されます。
    • プロジェクト名-バージョン番号-rev.log : 前のビルドから今回のビルドまでの間にCVS上で更新されたファイルの一覧。更新がなければ0バイトのファイル
    • プロジェクト名-バージョン番号-build.log : ビルドのログ