2012-01-30 65 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並重新啓動服務器。現在再工作。