Nov 09, 2005
[Maven] Continuum にチャレンジ
Continuum とは
Continuum は、Maven2、Maven、Ant などに対応した継続的インテグレーションツール。 実際のところはシェルスクリプトをキックできるようになっているので、他のビルドツールを使用していても大丈夫。 Apache Maven プロジェクトの一環として開発が行われている。 先日ついにバージョン 1.0 がリリースされたので実際に試してみた。
- Continuum 公式サイト
- http://maven.apache.org/continuum/
Continuum の実行環境構築
JDK(1.4以上) 及び開発に使用している JDK、SCM クライアント、ビルドツールが既にインストールされていることが前提。
- ダウンロードページから continuum-1.0-bin.tar.gz をダウンロード
- Continuum をインストール
# tar zxvf ./continuum-1.0-bin.tar.gz # mv ./continuum-1.0 /opt # ln -s /opt/continuum-1.0/ /opt/continuum
- JAVA_HOME を設定
# export JAVA_HOME=/opt/jdk15 # export PATH=$JAVA_HOME/bin:$PATH # java -version java version "1.5.0_05" Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_05-b05) Java HotSpot(TM) Client VM (build 1.5.0_05-b05, mixed mode, sharing)
- /opt/continuum/bin/linux/run.sh の先頭の方に "PATH=/opt/maven2/bin:$PATH" を追記(開発に Maven2 を使っている場合)。
- Continuum を起動する。初回起動にはかなり時間がかかる(Pen4 2.4G 上の VMWare で数分かかった)ので気長に待つ。2 回目からは速くなるのでじっとガマン。
※run.sh のパラメータには通常 start を使用するが、初回はエラーが出る可能性があるのでフォアグラウンドで実行される console を使用すると便利。# /opt/continuum/bin/linux/run.sh console
- http://localhost:8080/continuum/ にアクセスして動作確認を行う。初回起動時に管理者用アカウントの設定画面が表示される。
![[初期画面]](/blog/entries/Maven/20051109_01/continuum_02.png)
Continuum へのプロジェクトの追加
Maven2 + Subversion で管理しているプロジェクトを Continuum に追加してみる。
pom.xml の編集
pom.xml に scm と ciManagement を追記する。
<model>
<scm>
<connection>scm:svn:http://svn.example.com/repos/MyProject/trunk/</connection>
<developerConnection>scm:svn:http://svn.example.com/repos/MyProject/trunk/</developerConnection>
<url>http://svn.example.com/repos/MyProject/</url>
</scm>
<ciManagement>
<system>continuum</system>
<notifiers>
<notifier>
<type>mail</type>
<configuration>
<address>me@example.com</address>
</configuration>
</notifier>
</notifiers>
</ciManagement>
</model>
Continuum へ pom.xml を登録
"Add Project" > "Maven 2.0+ Project" で pom.xml をアップロードする。
![[プロジェクトが登録されたところ]](/blog/entries/Maven/20051109_01/continuum_04.png)
ビルドの実行
"Continuum" > "Show Projects" から該当プロジェクトの "Build Now" をクリックして強制的にビルドを実行する。



