tomcat - 如果已部署,Jenkins 自动部署程序无法在 tomcat 中部署

标签 tomcat jenkins deployment

我正在使用 Deploy Plugin 在 Tomcat 7 中自动部署 war。当 war 文件尚未部署在该 tomcat 中时,它工作正常。如果我第二次构建我的项目以将其部署在 tomcat 上,它会抛出异常。

在全新部署期间

Build step 'Invoke Gradle script' changed build result to SUCCESS
Deploying /root/.jenkins/workspace/CSB-CityAgent-csbPlatformApp/Workspace/Application/csbClient/CityAgent/csbPlatformApp/war/libs/csbPlatformApp.war to container Tomcat 7.x Remote
  [/root/.jenkins/workspace/CSB-CityAgent-csbPlatformApp/Workspace/Application/csbClient/CityAgent/csbPlatformApp/war/libs/csbPlatformApp.war] is not deployed. Doing a fresh deployment.
  Deploying [/root/.jenkins/workspace/CSB-CityAgent-csbPlatformApp/Workspace/Application/csbClient/CityAgent/csbPlatformApp/war/libs/csbPlatformApp.war]
Finished: SUCCESS

当我第二次尝试时,

Build step 'Invoke Gradle script' changed build result to SUCCESS
Deploying /root/.jenkins/workspace/CSB-CityAgent-csbPlatformApp/Workspace/Application/csbClient/CityAgent/csbPlatformApp/war/libs/csbPlatformApp.war to container Tomcat 7.x Remote
  Redeploying [/root/.jenkins/workspace/CSB-CityAgent-csbPlatformApp/Workspace/Application/csbClient/CityAgent/csbPlatformApp/war/libs/csbPlatformApp.war]
  Undeploying [/root/.jenkins/workspace/CSB-CityAgent-csbPlatformApp/Workspace/Application/csbClient/CityAgent/csbPlatformApp/war/libs/csbPlatformApp.war]
  Deploying [/root/.jenkins/workspace/CSB-CityAgent-csbPlatformApp/Workspace/Application/csbClient/CityAgent/csbPlatformApp/war/libs/csbPlatformApp.war]
ERROR: Build step failed with exception
org.codehaus.cargo.container.ContainerException: Failed to deploy [/root/.jenkins/workspace/CSB-CityAgent-csbPlatformApp/Workspace/Application/csbClient/CityAgent/csbPlatformApp/war/libs/csbPlatformApp.war]
    at org.codehaus.cargo.container.tomcat.internal.AbstractTomcatManagerDeployer.deploy(AbstractTomcatManagerDeployer.java:107)
    at org.codehaus.cargo.container.tomcat.internal.AbstractTomcatManagerDeployer.redeploy(AbstractTomcatManagerDeployer.java:185)
    at hudson.plugins.deploy.CargoContainerAdapter.deploy(CargoContainerAdapter.java:73)
    at hudson.plugins.deploy.CargoContainerAdapter$1.invoke(CargoContainerAdapter.java:116)
    at hudson.plugins.deploy.CargoContainerAdapter$1.invoke(CargoContainerAdapter.java:103)
    at hudson.FilePath.act(FilePath.java:991)
    at hudson.FilePath.act(FilePath.java:969)
    at hudson.plugins.deploy.CargoContainerAdapter.redeploy(CargoContainerAdapter.java:103)
    at hudson.plugins.deploy.DeployPublisher.perform(DeployPublisher.java:61)
    at hudson.tasks.BuildStepMonitor$3.perform(BuildStepMonitor.java:45)
    at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:779)
    at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:726)
    at hudson.model.Build$BuildExecution.post2(Build.java:185)
    at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:671)
    at hudson.model.Run.execute(Run.java:1766)
    at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
    at hudson.model.ResourceController.execute(ResourceController.java:98)
    at hudson.model.Executor.run(Executor.java:408)
Caused by: org.codehaus.cargo.container.tomcat.internal.TomcatManagerException: FAIL - Encountered exception javax.management.RuntimeErrorException: Error invoking method check

    at org.codehaus.cargo.container.tomcat.internal.TomcatManager.invoke(TomcatManager.java:566)
    at org.codehaus.cargo.container.tomcat.internal.TomcatManager.deployImpl(TomcatManager.java:611)
    at org.codehaus.cargo.container.tomcat.internal.TomcatManager.deploy(TomcatManager.java:291)
    at org.codehaus.cargo.container.tomcat.internal.AbstractTomcatManagerDeployer.deploy(AbstractTomcatManagerDeployer.java:102)
    ... 17 more
org.codehaus.cargo.container.tomcat.internal.TomcatManagerException: FAIL - Encountered exception javax.management.RuntimeErrorException: Error invoking method check

    at org.codehaus.cargo.container.tomcat.internal.TomcatManager.invoke(TomcatManager.java:566)
    at org.codehaus.cargo.container.tomcat.internal.TomcatManager.deployImpl(TomcatManager.java:611)
    at org.codehaus.cargo.container.tomcat.internal.TomcatManager.deploy(TomcatManager.java:291)
    at org.codehaus.cargo.container.tomcat.internal.AbstractTomcatManagerDeployer.deploy(AbstractTomcatManagerDeployer.java:102)
    at org.codehaus.cargo.container.tomcat.internal.AbstractTomcatManagerDeployer.redeploy(AbstractTomcatManagerDeployer.java:185)
    at hudson.plugins.deploy.CargoContainerAdapter.deploy(CargoContainerAdapter.java:73)
    at hudson.plugins.deploy.CargoContainerAdapter$1.invoke(CargoContainerAdapter.java:116)
    at hudson.plugins.deploy.CargoContainerAdapter$1.invoke(CargoContainerAdapter.java:103)
    at hudson.FilePath.act(FilePath.java:991)
    at hudson.FilePath.act(FilePath.java:969)
    at hudson.plugins.deploy.CargoContainerAdapter.redeploy(CargoContainerAdapter.java:103)
    at hudson.plugins.deploy.DeployPublisher.perform(DeployPublisher.java:61)
    at hudson.tasks.BuildStepMonitor$3.perform(BuildStepMonitor.java:45)
    at hudson.model.AbstractBuild$AbstractBuildExecution.perform(AbstractBuild.java:779)
    at hudson.model.AbstractBuild$AbstractBuildExecution.performAllBuildSteps(AbstractBuild.java:726)
    at hudson.model.Build$BuildExecution.post2(Build.java:185)
    at hudson.model.AbstractBuild$AbstractBuildExecution.post(AbstractBuild.java:671)
    at hudson.model.Run.execute(Run.java:1766)
    at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:43)
    at hudson.model.ResourceController.execute(ResourceController.java:98)
    at hudson.model.Executor.run(Executor.java:408)
Build step 'Deploy war/ear to a container' marked build as failure
Finished: FAILURE

我的配置,

enter image description here

我想不出问题所在。谁能帮帮我?

最佳答案

我遇到了同样的问题,

我在日志中找到

java.lang.OutOfMemoryError: Compressed class space

解决方案是在 tomcat/bin/setenv 的 JAVA_OPTS 中添加 -XX:CompressedClassSpaceSize=XXXm

注意:我使用的是 Tomcat 8

关于tomcat - 如果已部署,Jenkins 自动部署程序无法在 tomcat 中部署,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35147017/

相关文章:

java - Hibernate 关系加载

maven - JSF Base64 错误?

java - 有没有办法在 Chrome 或 Firefox 中修改 HTTP 请求?

jenkins - 通过 Homebrew 安装 Jenkins 时,JENKINS_HOME 是什么?

asp.net - ASP.NET 3.5 Web 应用程序项目可以扩展或修补 "in Flight"吗?

JavaScript 与 Node.js

jenkins - 更新 S3 文件时触发 Jenkins 作业

macos - mac high sierra tomat 如何更改端口 8080

java - JUnit 测试在 Local 上运行,但不在 Jenkins 上运行

java - Sonar分析导致通过Jenkins在maven项目上索引0个文件