私は現在、カーゴを使用して、アトラシアンの竹を介してリモートのグラスフィッシュ 3.1.2 にアプリケーションをデプロイしようとしています。これは開発環境であるため、バージョン番号が異なる同じアプリケーションが毎回同じコンテキスト ルートにデプロイされます。
しかし、Mavenの目標でジョブを実行するたびに:
org.codehaus.cargo:cargo-maven2-plugin:redeploy
エラーが発生し続けます:
11-Jun-2013 15:13:48 Caused by: org.apache.maven.plugin.PluginExecutionException: Execution default-cli of goal org.codehaus.cargo:cargo-maven2-plugin:1.4.2:redeploy failed: Deployment has failed: Action failed Deploying application to target server failed; Error occurred during deployment: Application with name myapp-1.4.8 is already registered. Either specify that redeployment must be forced, or redeploy the application. Or if this is a new deployment, pick a different name. Please see server.log for more details.
11-Jun-2013 15:13:48
11-Jun-2013 15:13:48 at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:110)
11-Jun-2013 15:13:48 at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209)
11-Jun-2013 15:13:48 ... 19 more
11-Jun-2013 15:13:48 Caused by: org.codehaus.cargo.util.CargoException: Deployment has failed: Action failed Deploying application to target server failed; Error occurred during deployment: Application with name myapp-1.4.8 is already registered. Either specify that redeployment must be forced, or redeploy the application. Or if this is a new deployment, pick a different name. Please see server.log for more details.
11-Jun-2013 15:13:48
11-Jun-2013 15:13:48 at org.codehaus.cargo.container.spi.deployer.AbstractJsr88Deployer.waitForProgressObject(AbstractJsr88Deployer.java:285)
11-Jun-2013 15:13:48 at org.codehaus.cargo.container.spi.deployer.AbstractJsr88Deployer.deploy(AbstractJsr88Deployer.java:123)
11-Jun-2013 15:13:48 at org.codehaus.cargo.container.spi.deployer.AbstractJsr88Deployer.redeploy(AbstractJsr88Deployer.java:207)
11-Jun-2013 15:13:48 at org.codehaus.cargo.maven2.DeployerRedeployMojo.performDeployerActionOnSingleDeployable(DeployerRedeployMojo.java:50)
11-Jun-2013 15:13:48 at org.codehaus.cargo.maven2.AbstractDeployerMojo.performDeployerActionOnAllDeployables(AbstractDeployerMojo.java:180)
11-Jun-2013 15:13:48 at org.codehaus.cargo.maven2.AbstractDeployerMojo.doExecute(AbstractDeployerMojo.java:97)
11-Jun-2013 15:13:48 at org.codehaus.cargo.maven2.AbstractCargoMojo.execute(AbstractCargoMojo.java:432)
11-Jun-2013 15:13:48 at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101)
11-Jun-2013 15:13:48 ... 20 more
11-Jun-2013 15:13:48 [ERROR]
11-Jun-2013 15:13:48 [ERROR]
11-Jun-2013 15:13:48 [ERROR] For more information about the errors and possible solutions, please read the following articles:
11-Jun-2013 15:13:48 [ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/PluginExecutionException
11-Jun-2013 15:13:48 [ERROR]
11-Jun-2013 15:13:48 [ERROR] After correcting the problems, you can resume the build with the command
私が必要としているのは、そのコンテキスト ルートにアプリケーション (古いバージョン) が既に存在するという事実に関係なく、カーゴ プラグインが再デプロイを強制することです。
asadmin コマンドを手動で実行していた場合、 --force パラメーターを簡単に追加でき、機能します。
追加の制約があります。Bamboo インスタンスをホストするサーバーに Glassfish のローカル バージョンをインストールできないため、maven sh プラグインなどを使用して asadmin コマンドを手動でビルドすることはできません。
以下は、関連する pom.xml フラグメントです。
<build>
<finalName>myapp-${project.version}</finalName>
<plugins>
<plugin>
<groupId>org.codehaus.cargo</groupId>
<artifactId>cargo-maven2-plugin</artifactId>
<version>1.4.2</version>
<configuration>
<container>
<containerId>glassfish3x</containerId>
<type>remote</type>
</container>
<configuration>
<type>runtime</type>
<properties>
<cargo.remote.username>${cargo.remote.username}</cargo.remote.username>
<cargo.remote.password>${cargo.remote.password}</cargo.remote.password>
<cargo.glassfish.admin.port>${cargo.glassfish.admin.port}</cargo.glassfish.admin.port>
<cargo.hostname>${cargo.hostname}</cargo.hostname>
</properties>
</configuration>
</configuration>
<dependencies>
<dependency>
<groupId>org.glassfish.deployment</groupId>
<artifactId>deployment-client</artifactId>
<version>3.1.1</version>
</dependency>
</dependencies>
</plugin>
何か案は?