簡體   English   中英

JenkinsX-由於Java堆空間而導致構建失敗

[英]JenkinsX - Build fail due to Java Heap space

我正在使用JenkinsX在GKE上為Spring Boot應用程序創建CI / CD管道。 一旦將代碼推送到master分支,就會觸發構建,但是由於Java堆空間不足,構建會失敗。

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-war-plugin:3.2.2:war (default-war) on project location-finder-api: Error assembling WAR: Problem creating war: Execution exception: Java heap space -> [Help 1]

org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-war-plugin:3.2.2:war (default-war) on project location-finder-api: Error assembling WAR: Problem creating war: Execution exception
Caused by: java.lang.OutOfMemoryError: Java heap space

    at org.codehaus.plexus.archiver.zip.ByteArrayOutputStream.needNewBuffer (ByteArrayOutputStream.java:153)

    at org.codehaus.plexus.archiver.zip.ByteArrayOutputStream.write (ByteArrayOutputStream.java:192)

為了解決此問題,我嘗試將Docekrfile中的JVM參數設置為

CMD ["java", "-Xmx1024m","-jar", "app.jar"]

但這沒有用。 這是我開始構建時看到的

+ mvn -e clean deploy -Pprod

Picked up _JAVA_OPTIONS: -XX:+UnlockExperimentalVMOptions -XX:+UseCGroupMemoryLimitForHeap -Dsun.zip.disableMemoryMapping=true -XX:+UseParallelGC -XX:MinHeapFreeRatio=5 -XX:MaxHeapFreeRatio=10 -XX:GCTimeRatio=4 -XX:AdaptiveSizePolicyWeight=90 -Xms10m -Xmx192m

OpenJDK 64-Bit Server VM warning: If the number of processors is expected to increase from one, then you should configure the number of parallel GC threads appropriately using -XX:ParallelGCThreads=N

有什么辦法可以自己設置此堆選項?

看起來maven內存不足,因此您的構建容器中需要更多的內存(而不是應用程序的Dockerfile)。

作為一項快速測試,您可以在Jenkins UI中編輯pod模板: jx console然后Manage Jenkins -> Configure System jenkins-maven Manage Jenkins -> Configure System然后在UI中找到jenkins-maven pod模板,然后從該值編輯_JAVA_OPTIONS環境變量: https:// github .com / jenkins-x / jenkins-x-platform / blob / master / jenkins-x-platform / values.yaml#L907-嘗試將-Xmx512m更改為-Xmx912m

找到適合您的項目的值后,可以通過將其添加到myvalues.yaml使更改永久myvalues.yaml ,以重新啟動Jenkins。

# myvalues.yaml
jenkins:
  Agent:
    PodTemplates:
      Maven:
        Name: maven
        Label: jenkins-maven
        EnvVars:
          _JAVA_OPTIONS: '-XX:+UnlockExperimentalVMOptions -Dsun.zip.disableMemoryMapping=true -XX:+UseParallelGC -XX:MinHeapFreeRatio=5 -XX:MaxHeapFreeRatio=10 -XX:GCTimeRatio=4 -XX:AdaptiveSizePolicyWeight=90 -Xms10m -Xmx912m'

請參閱有關創建/配置構建器的文檔

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM