2012-01-30 62 views
4

我想设置我的Maven构建的Web应用程序,作为我的常规作业的一部分进行构建和部署。Jenkins新部署使用容器部署插件工作,但如果重新部署会失败

构建工作正常,但使用容器部署插件似乎不可靠,因为全新的部署工作正常,但重新部署应用程序失败。应用程序已部署时插件无法部署(该战争已在webapps目录中)。要清楚,如果我删除战争和取消部署,然后詹金斯建立它的预期工作,但随后他们失败。该错误信息是:

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

我应该改为部署作为行家的一部分自身建设,通过部署:部署和增加分发管理部分?

或者是他们的一个詹金斯设置我失踪了?

回答

0

我这样做https://stackoverflow.com/a/6524012/106261

我可以调用货物:重新部署为后期生成步骤,如果我想有存储POM

内部署细节或我称之为货物:取消部署作为后生成步骤,然后使用容器部署插件实际部署使用我放在詹金斯的设置。

1

首先,maven deploy插件不会将Web应用程序部署到容器。它将项目工件部署到Maven存储库。所以,它不能用于你的目的。

其次,请参考this相关open jira问题。这也表明了解决方案/解决方法。

+0

货物:重新部署工作很好,重新部署战争文件到远程tomcat7。我已经发布了适合我的解决方案,作为答案。 – NimChimpsky 2012-01-30 12:45:41

+0

@NimChimpsky。当然,上面的链接暗示了完全相同。我觉得重要的是澄清maven部署。 – Raghuram 2012-01-31 05:54:47

4

有同样的问题。令人惊讶的是,在我的情况下,其他的东西都有所帮助

在重新部署时看着tomcat日志,看到了OutOfMemory: Permgen space。在$CATALINA_HOME/bin/setenv.sh中增加XX:PermSizeXX:MaxPermSize至256m完全解决了这个问题。

1

如果您尝试在context.xml中部署2个具有相同上下文根的应用程序(但在部署时在jenkins中定义了另一个应用程序),也可能会发生这种情况。不得不手动清理/ webapps并重新启动服务器。现在再工作。