JBoss AS 7 を起動し、war アーティファクトをデプロイし、アーティファクトが正常にデプロイされるまで待ってから統合テストの実行を開始する Maven pom.xml 設定を成功させることができませんでした。
以前相談した...
- http://navinpeiris.com/tag/jboss-as-7/
- http://cargo.codehaus.org/Maven2+Plugin+Reference+Guide#Maven2PluginReferenceGuide-deployer
インストール済み (および事前設定済み) の JBoss AS 7 コンテナーを使用したいと考えています。私はそれを常に稼働させたくありません。私はそれを開始し、いくつかのテストを実行し、シャットダウンしたいと考えています。
私の環境:
- cargo-maven2-plugin 1.3.1
- jboss-as-7.1.1.Final
- maven-failsafe-plugin 2.12.4
これが私がFailsafe
設定のために持っているものです...
<plugin>
<artifactId>maven-failsafe-plugin</artifactId>
<version>${maven-failsafe-plugin.version}</version>
<configuration>
<forkMode>once</forkMode>
<argLine>-javaagent:"${settings.localRepository}/org/springframework/spring-instrument/${spring.framework.version}/spring-instrument-${spring.framework.version}.jar"</argLine>
<useSystemClassLoader>true</useSystemClassLoader>
</configuration>
<executions>
<execution>
<goals>
<goal>integration-test</goal>
<!-- Uncomment the line below if you want the build to fail when any integration test fails -->
<!-- <goal>verify</goal> -->
</goals>
</execution>
</executions>
</plugin>
これが私がCargo
設定のために持っているものです...
<plugin>
<groupId>org.codehaus.cargo</groupId>
<artifactId>cargo-maven2-plugin</artifactId>
<version>${cargo-maven2-plugin.version}</version>
<configuration>
<container>
<containerId>jboss71x</containerId>
<type>installed</type>
<home>${jboss71x.home}</home>
<output>${project.build.directory}/jboss71x/container.log</output>
<append>false</append>
<log>${project.build.directory}/jboss71x/cargo.log</log>
</container>
<configuration>
<type>standalone</type>
<home>${project.build.directory}/jboss71x/container</home>
<properties>
<cargo.jboss.configuration>default</cargo.jboss.configuration>
<cargo.rmi.port>1099</cargo.rmi.port>
<cargo.jvmargs>${servlet.container.jvmargs}</cargo.jvmargs>
<cargo.logging>high</cargo.logging>
<cargo.servlet.port>8080</cargo.servlet.port>
</properties>
</configuration>
<deployer>
<type>installed</type>
<deployables>
<deployable>
<groupId>${project.groupId}</groupId>
<artifactId>${project.artifactId}</artifactId>
<type>war</type>
<properties>
<context>/ws</context>
</properties>
<pingURL>http://localhost:8080/ws/services</pingURL>
<pingTimeout>30000</pingTimeout>
</deployable>
</deployables>
</deployer>
</configuration>
<!-- http://navinpeiris.com/2011/08/22/running-integrationacceptance-tests-in-jboss-7-using-cargo/ -->
<executions>
<execution>
<id>start-container</id>
<phase>pre-integration-test</phase>
<goals>
<goal>start</goal>
<goal>deploy</goal>
</goals>
</execution>
<execution>
<id>stop-container</id>
<phase>post-integration-test</phase>
<goals>
<goal>stop</goal>
</goals>
</execution>
</executions>
</plugin>
上記の設定は、コンテナを手動で起動したいときにうまく機能しmvn clean package cargo:run
ます。しかし、CI を使用したビルド中には、目的の効果が得られませんmvn clean integration-test
。
ヒント?提案を歓迎します。