4.3.3. 配置和自定义
4.3.3.1. 环境变量
每个 Jenkins 代理容器均可通过以下环境变量进行配置:
OPENSHIFT_JENKINS_JVM_ARCH
设置为
x86_64
或i386
,以覆盖用来托管 Jenkins 代理的 JVM。为提高内存效率,如果容器中运行的内存限值为 2GiB,则 Jenkins 代理镜像默认会动态使用 32 位 JVM。JAVA_MAX_HEAP_PARAM
CONTAINER_HEAP_PERCENT
(默认值:0.1
、e.e. 10%)
JNLP_MAX_HEAP_UPPER_BOUND_MB
这些值控制 Jenkins 代理 JVM 的最大堆大小。如果设置了
JAVA_MAX_HEAP_PARAM
(示例设置:-Xmx512m
),则优先使用其值。否则,最大堆大小将动态计算为容器内存限制的CONTAINER_HEAP_PERCENT
%(示例设置:0.5
、例如 50%), 可选上限为JNLP_MAX_HEAP_UPPER_BOUND_MB
MiB(示例设置:512
)。默认情况下,Jenkins 代理 JVM 的最大堆大小设置为容器内存限值的 50%,且无上限。
JAVA_INITIAL_HEAP_PARAM
CONTAINER_INITIAL_PERCENT
这些值控制 Jenkins 代理 JVM 的初始堆大小。如果设置了
JAVA_INITIAL_HEAP_PARAM
(示例设置:-Xms32m
),则优先使用其值。否则,初始堆大小可能会动态计算为动态计算的最大堆大小的CONTAINER_INITIAL_PERCENT
%(示例:0.1
,即 10%)。默认情况下,初始堆大小留给 JVM。
CONTAINER_CORE_LIMIT
如果设置,请将用于调整内部 JVM 线程数的内核数指定为整数。示例设置:
2
。JAVA_TOOL_OPTIONS
(default:-XX:+UnlockExperimentalVMOptions -XX:+UseCGroupMemoryLimitForHeap -Dsun.zip.disableMemoryMapping=true
)指定此容器中运行的所有 JVM 需要注意的选项。不建议覆盖此选项。
JAVA_GC_OPTS
(default:-XX:+UseParallelGC -XX:MinHeapFreeRatio=5 -XX:MaxHeapFreeRatio=10 -XX:GCTimeRatio=4 -XX:AdaiveSizePolicyWeight=90
)指定 Jenkins 代理 JVM 垃圾回收参数。不建议覆盖此选项。
JNLP_JAVA_OVERRIDES
指定 Jenkins 代理 JVM 的额外选项。这些选项附加到所有其他选项中,包括上面的 Java 选项,必要时可用于覆盖其中任何一个选项。用空格分开各个附加选项;如有任意选项包含空格字符,请使用反斜杠转义。示例设置:
-Dfoo -Dbar
;-Dfoo=first\ value -Dbar=second\ value
。