2.4. Jenkins 代理 Gradle 构建
在 OpenShift Container Platform 上的 Jenkins 代理中托管 Gradle 构建会出现其他复杂情况,因为除了 Jenkins JNLP 代理和 Gradle JVM 外,Gradle 还会生成第三个 JVM 来运行测试(若已指定)。
建议将以下设置作为起始点,在 OpenShift Container Platform 上内存受限的 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 参数。