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 参数。