4.2.3.2. 环境变量
Jenkins 服务器可通过以下环境变量进行配置:
OPENSHIFT_ENABLE_OAUTH
(默认:false
)决定在登录 Jenkins 时,OpenShift Login 插件可否管理身份验证。要启用,请设为
true
。JENKINS_PASSWORD
(默认:password
)使用标准 Jenkins 身份验证时
admin
用户的密码。OPENSHIFT_ENABLE_OAUTH
设置为true
时不适用。OPENSHIFT_JENKINS_JVM_ARCH
设置为
x86_64
或i386
,以覆盖用于托管 Jenkins 的 JVM。为提高内存效率,如果容器中运行的内存限值为 2GiB,则默认情况下 Jenkins 镜像会动态使用 32 位 JVM。JAVAINER_MAX_HEAP_PARAM
CONTAINER_HEAP_PERCENT
(默认值:0.5
或 50%)
JENKINS_MAX_HEAP_UPPER_BOUND_MB
这些值控制 Jenkins JVM 的最大堆大小。如果设置了
JAVA_MAX_HEAP_PARAM
(示例设置:-Xmx512m
),则优先使用其值。否则,最大堆大小将动态计算为容器内存限值的CONTAINER_HEAP_PERCENT
%(示例设置:0.5
或 50%),可选上限为JENKINS_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 垃圾回收参数。不建议覆盖此选项。
JENKINS_JAVA_OVERRIDES
指定适用于 Jenkins JVM 的附加选项。这些选项附加到所有其他选项中,包括上面的 Java 选项,必要时可用于覆盖其中任何一个选项。用空格分开各个附加选项;如有任意选项包含空格字符,请使用反斜杠转义。示例设置:
-Dfoo -Dbar
;-Dfoo=first\ value -Dbar=second\ value
。JENKINS_OPTS
为 Jenkins 指定参数。
INSTALL_PLUGINS
指定在容器首次运行或
OVERRIDE_PV_PLUGINS_WITH_IMAGE_PLUGINS
设置为true
时需要安装的 Jenkins 附加插件。(参看以下内容)插件被指定为用逗号分隔的“名称:版本”对列表。示例设置:git:3.7.0,subversion:2.10.2
。OPENSHIFT_PERMISSIONS_POLL_INTERVAL
(默认:300000
- 5 分钟)以毫秒为单位指定 OpenShift Login 插件轮询 OpenShift Container Platform 的频率,以毫秒为单位指定与 Jenkins 中定义的每个用户关联的权限。
OVERRIDE_PV_CONFIG_WITH_IMAGE_CONFIG
(默认:false
)当为 Jenkins 配置目录运行带有一个 OpenShift Container Platform 持久性卷运行此镜像时,从镜像到持久性卷的配置传输仅进行镜像的第一个启动,因为持久性卷由持久性卷声明创建来分配。如果您在初始启动后创建自定义镜像来扩展此镜像并更新自定义镜像中的配置,则默认不会复制它,除非将该环境变量设置为
true
。OVERRIDE_PV_PLUGINS_WITH_IMAGE_PLUGINS
(默认:false
)当使用 Jenkins 配置目录的 OpenShift Container Platform 持久性卷运行此镜像时,从镜像到持久性卷的插件传输仅进行镜像的第一个启动,因为持久性卷由持久性卷声明创建来分配。如果您在初始启动后创建可扩展此镜像的自定义镜像并更新自定义镜像中的插件,则默认不会复制它们,除非将该环境变量设置为
true
。ENABLE_FATAL_ERROR_LOG_FILE
(默认:false
)当使用 Jenkins 配置目录的 OpenShift Container Platform 持久性声明运行此镜像时,该环境变量允许在严重错误发生时,严重错误日志文件保留。严重错误文件保存在:
/var/lib/jenkins/logs
。NODEJS_SLAVE_IMAGE
设置此值将覆盖用于默认 NodeJS 代理 Pod 配置的镜像。默认 NodeJS 代理 pod 使用
docker.io/openshift/jenkins-agent-nodejs-8-centos7
或registry.redhat.io/openshift3/jenkins-agent-nodejs-8-rhel7
,具体取决于您运行 Jenkins 镜像的 CentOS 或 RHEL 版本。该变量必须在 Jenkins 首次启动前进行设置,以便其生效。MAVEN_SLAVE_IMAGE
设置此值将覆盖用于默认 Maven 代理 Pod 配置的镜像。默认 maven 代理 pod 使用
docker.io/openshift/jenkins-agent-maven-35-centos7
或registry.redhat.io/openshift3/jenkins-agent-maven-35-rhel7
,具体取决于您运行 Jenkins 镜像的 CentOS 或 RHEL 版本。该变量必须在 Jenkins 首次启动前进行设置,以便其生效。JENKINS_UC_INSECURE
确定在 Jenkins Update Center 存储库使用无效的 SSL 证书时是否允许 Jenkins 插件下载。如果使用了带有未知 CA 的自签名证书,或者在中间使用了一个企业级代理。此变量适用于插件下载,这些插件下载可能会在 Jenkins 镜像构建过程中发生,或构建了 Jenkins 镜像的扩展。当运行 Jenkins 镜像并使用其中一个选项下载额外插件时,还会应用它,包括带有 plugins.txt 的 S2I 或 INSTALL_PLUGINS 环境变量。设置为 true 以启用此变量。