2012-01-30 5 views
4

私のビルド済みWebアプリケーションをセットアップして、通常の仕事の一部として構築して展開したいと考えています。Jenkins fresh deployはコンテナデプロイメントプラグインを使用して動作しますが、再デプロイすると失敗します

ビルドはうまくいきますが、コンテナデプロイメントプラグインを使用すると信頼性が低いように見えますが、新しいデプロイメントは機能しますが、アプリケーションの再デプロイは失敗します。プラグインは、アプリケーションがすでにデプロイされているとデプロイできません(warはすでにwebappsディレクトリにあります)。私が戦争を削除し、すべてを展開してからジェンキンスをビルドすると、それは予期したとおりに動作しますが、その後は失敗することがわかります。エラーメッセージは次のとおりです。展開と配信管理セクションを追加:

org.codehaus.cargo.container.tomcat.internal.TomcatManagerException: FAIL - Encountered exception javax.management.RuntimeErrorException: Error invoking method check 

は私の代わりに展開使用して、Mavenのビルド自体の一部として展開されるべきか?

または私は行方不明に設定されていますか?

答えて

0

私がやっているこのhttps://stackoverflow.com/a/6524012/106261

私は貨物を呼び出すことができますいずれか

:アンデプロイをポストビルドステップとして:私はポンポン

内に保存された展開の詳細を持っていると思いますか、私は貨物を呼び出す場合、ポストビルドステップとして再デプロイ次に、私がジェンキンに入れた設定を使用して実際にデプロイするために、コンテナデプロイメントプラグインを使用します。

1

第1に、mavenデプロイメントプラグインは、Webアプリケーションをコンテナにデプロイしません。プロジェクト成果物をMavenリポジトリにデプロイします。したがって、あなたの目的に使用することはできません。

第2に、thisに関連するopenジラ問題を参照してください。これはまた、解決策/回避策を示唆している。

+0

cargo:redeployは、warファイルをリモートのtomcat7に再配置するだけです。私は答えとして私のために働いたソリューションを掲載しました。 @ NimChimpsky。 – NimChimpsky

+0

確かに、上記のリンクはまったく同じことを示唆しています。 mavenデプロイメントについても明確にすることが重要であると感じました。 – Raghuram

1

warファイルをデプロイする前に、これを使用して既存のパッケージをアンデプロイできます。 http://mojo.codehaus.org/tomcat-maven-plugin/undeploy-mojo.html デプロイメントを行う前に同じタスクでこのタスクを追加することができます。期待どおりにCIを引き続き使用できます。

4

ちょうど同じ問題がありました。驚いたことに、私の場合は完全に他のものが助けになりました。

再デプロイ時にtomcatログを見て、OutOfMemory: Permgen spaceを見た。 $CATALINA_HOME/bin/setenv.shXX:PermSizeXX:MaxPermSizeから256mを増やすと、この問題は完全に解決されました。

1

context.xmlに同じコンテキストルートを持つ2つのアプリケーションをデプロイしようとすると(ただし、デプロイ時にジェンキンで定義されている)

手動でWebアプリケーションをクリーンアップしてから再起動する必要がありました。もう一度動作します。

関連する問題