2.4. Jenkins 代理 Gradle 构建
在 Red Hat OpenShift Service on AWS 上的 Jenkins 代理中托管 Gradle 构建会带来额外的复杂情况,因为除了 Jenkins JNLP 代理和 Gradle JVM 外,Gradle 会生成第三个 JVM 来运行测试(如果指定了测试)。
建议将以下设置作为起点,用于在 Red Hat OpenShift Service on AWS 上的内存受限 Jenkins 代理中运行 Gradle 构建。您还可按需修改这些设置。
-
通过将
org.gradle.daemon=false
添加到gradle.properties
文件中来确保禁用长期 Gradle 守护进程。 -
通过确保
gradle.properties
文件中未设置org.gradle.parallel=true
且--parallel
未设置为命令行参数来禁用并行构建执行。 -
要防止 Java 编译超出进程范围,请在
build.gradle
文件中设置java { options.fork = false }
。 -
通过确保在
build.gradle
文件中设置test { maxParallelForks = 1 }
来禁用多个附加测试进程。 -
使用
GRADLE_OPTS
、JAVA_OPTS
或JAVA_TOOL_OPTIONS
环境变量覆盖 Gradle JVM 内存参数。 -
通过在
build.gradle
中定义maxHeapSize
和jvmArgs
设置,或通过-Dorg.gradle.jvmargs
命令行参数来为任何 Gradle 测试 JVM 设置最大堆大小和 JVM 参数。