【问题标题】:jenkins deploy plugin. out of memory詹金斯部署插件。内存不足
【发布时间】:2014-09-15 10:54:25
【问题描述】:

我将 Jenkins 与部署插件、maven3 和 tomcat7 一起使用。以前一切正常,但带有新库的新 .war部署期间导致 OutOfMemoryError(java 堆大小)异常。

注意:构建成功

仅当我使用 jenkins 时才会出现此问题。如果我尝试直接从 tomcat 管理器手动部署 .war 文件(由 jenkins 放置在 /tomcat/webapps 中) - 一切正常。或者,如果我重新启动 tomcat 并且 .war 将被自动部署 - 一切正常。

我在 /etc/default/tomcat7 中增加了 tomcat 的 java 堆内存,问题已得到修复,但我认为这是一个糟糕的解决方案。为什么使用 jenkins 会发生 OutOfMemory?

谢谢

【问题讨论】:

    标签: java tomcat deployment jenkins


    【解决方案1】:

    当您运行的 Maven 作业内存不足时,Jenkins 会收到 OutOfMemoryException。 Jenkins 作业中的每个 Maven 构建步骤都将单独运行,因此每个步骤都可以有自己的设置。要解决此问题,您可以为特定的 Maven 构建步骤分配更多内存。

    当构建包含“调用顶级 Maven 目标”构建步骤时,可以选择调整 JVM 选项(可以在单击高级按钮后找到)。当分配更多内存时(例如 -Xmx1024m -Xms256m -XX:MaxPermSize=1024m),指定的构建步骤不太可能耗尽内存。如果还是这样,你应该玩弄这些数字。

    这能回答你的问题吗?

    【讨论】:

    • 感谢您的回答。詹金斯得到 NOT OutOfMemory 异常。 Jenkins 从 Tomcat 获得 ContainerException。在詹金斯的工作中,Maven 构建完成,没有任何例外。并且输出 .war 文件很好。但是 Jenkins 的下一步是部署这个 .war 文件。并在部署 tomcat 期间获取 OutOfMemoryError 并停止 jenkins 工作。如果我得到在上一步中编译的 .war 文件并手动部署它们 - 一切正常。
    • 啊,我误会了。也许这就是你要找的东西:frankkieviet.blogspot.ca/2006/10/…
    猜你喜欢
    • 1970-01-01
    • 2015-07-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-02
    相关资源
    最近更新 更多