[英]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.