Maven2とContinuumの連携

Maven2とContinuumを連携させて、Continuous Integrationの環境をつくる事が目的です。

とはいえ、実は昨日から非常に苦労しています。。。何しろ、この手の環境を作った事がないもんで。。

試験管のなかのコード/Continuum にチャレンジを参考にしつついろいろ試しています。

archetypeArtifactId

作成しているプロジェクトスケルトンはWebアプリケーションという事で、
archetypeArtifactIdは、maven-archetype-webapp
として作成しています。

mvn archetype:create -DgroupId=com.example -DartifactId=HelloWorld -DarchetypeArtifactId=maven-archetype-webapp

このとき、作成されるディレクトリ構造は、
Project名[DartifactId]---src---main---resources
| |---webapp---WEB-INF---web.xml
| |---index.jsp
|---pom.xml
です。

このsrc配下のみをSubversionリポジトリに格納していました。そのため、pom.xmlリポジトリに入っていなかったために、

org.apache.maven.continuum.execution.ContinuumBuildExecutorException: Could not find Maven project descriptor.
	at org.apache.maven.continuum.execution.maven.m2.MavenTwoBuildExecutor.updateProjectFromCheckOut(MavenTwoBuildExecutor.java:108)
	at org.apache.maven.continuum.core.action.UpdateProjectFromWorkingDirectoryContinuumAction.execute(UpdateProjectFromWorkingDirectoryContinuumAction.java:64)
	at org.apache.maven.continuum.buildcontroller.DefaultBuildController.build(DefaultBuildController.java:273)
	at org.apache.maven.continuum.buildcontroller.BuildProjectTaskExecutor.executeTask(BuildProjectTaskExecutor.java:47)
	at org.codehaus.plexus.taskqueue.execution.ThreadedTaskQueueExecutor$ExecutorRunnable.run(ThreadedTaskQueueExecutor.java(Compiled Code))
	at java.lang.Thread.run(Thread.java:568)

とエラーが発生していました。
そこで、srcと同階層にpom.xmlリポジトリに格納してあげると、Buildが通るようになりました。

pom.xmlの設定

での設定は、対象となるプロジェクトのpom.xmlが格納されているディレクトリまでを指定してあげるとうまく行くようですね。

今までは、Project名をリポジトリ内に階層を切っていなかったので、今回Project名を切ってみました。
HelloWorld配下にpom.xmlが配置される形になります。
この場合は、scm:svn:svn://<ホスト名>/<リポジトリ階層>/HelloWorldと設定する事になります。