cargo-maven2-plugin を使用して、テスト用に WAR モジュールのデプロイを自動化しようとしました。
Tomcat サーバー (マシンにプリインストールされている) を起動し、起動したサーバーに戦争を自動的にデプロイするにはどうすればよいでしょうか?
Cargo プロジェクトのドキュメントには、 cargo:start ゴールはオプションでデプロイ可能なものをデプロイできることが記載されています。
http://cargo.codehaus.org/Maven2+plugin#Maven2plugin-gettingstarted
cargo:start コンテナを起動します。そのタスクは、必要に応じてコンテナーをインストールおよび構成できます。オプションで、デプロイ可能なもの (WAR、EAR など) をデプロイすることもできます。
ただし、このオプションを有効にして、cargo:start の実行時にデプロイ可能なものをデプロイする方法がわかりません。
これが私の現在のpom構成です:
<build>
<plugins>
<plugin>
<groupId>org.codehaus.cargo</groupId>
<artifactId>cargo-maven2-plugin</artifactId>
<version>1.0</version>
<configuration>
<wait>true</wait>
<container>
<containerId>tomcat6x</containerId>
<home>${tomcat.home}</home>
</container>
<configuration>
<type>standalone</type>
<home>target/tomcat6x</home>
</configuration>
<deployer>
<deployables>
<deployable>
<groupId>${project.groupId}</groupId>
<artifactId>my-war</artifactId>
<type>war</type>
</deployable>
</deployables>
</deployer>
</configuration>
</plugin>
</plugins>
</build>
<dependencies>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>my-war</artifactId>
<version>${project.version}</version>
<type>war</type>
</dependency>
</dependencies>
「mvn cargo:start」を実行すると、Tomcat サーバーは開始されますが、my-war デプロイ可能ファイルはデプロイされません。そして、この戦争を展開するには、別のシェルから「mvn cargo:deploy」を実行する必要があります。