我想在使用官方的helm图表创建的jenkinskubernetes示例中传递一些JAVA_ARGS。此类值的示例如下:
jenkins
kubernetes
JAVA_ARGS
JAVA_ARGS="-Djava.awt.headless=true -Dorg.jenkinsci.plugins.durabletask.BourneShellScript.HEARTBEAT_CHECK_INTERVAL=86400
等等。在values.yaml中,哪里是这样做的地方?这是javaOpts还是javaOpts?
values.yaml
javaOpts
olmpazwi1#
该图表使用Jenkins Docker图像,该图像显示:您可能需要定制运行Jenkins的JVM,通常是为了传递系统属性(属性列表)或调整堆内存设置。在图表中,这是使用来自vaues.yaml的Values.master.javaOpts设置的
xwbd5t1u2#
我花了大量的时间寻找答案,并设法逻辑通过一个解决方案,让我满意。我知道这是已经回答,但也许它会帮助有人谁正在寻找这一点。下面是我的job.yaml的摘录:
job.yaml
template: spec: containers: - name: some-job command: ["/somewhere/jre/bin/java", "-Djava.abc.handler.pkgs=util.connection", "-Dcom.abc.properties=/opt/abc/def/deployment.properties", "-cp", "/opt/abc/def/lib/jar/somejava.jar:*:.", "com.abc.def.Deployer"]
正如您所看到的,-Dargs需要作为一个完整的单元来指定,并且每个单元都是相互分离的。我不得不在命令的前面也有它们,但是这可能不是必需的。之后,命令的其余部分必须遵循标准格式。
-Dargs
sauutmhj3#
将系统属性传入Jenkins控制器VM的正确方法是使用controller.containerEnv值传入JENKINS_JAVA_OPTS。默认情况下,此变量未设置,因此您可以安全地为其提供自己的值,而不会有覆盖重要内容的风险。示例:
controller.containerEnv
JENKINS_JAVA_OPTS
controller: containerEnv: - name: JENKINS_JAVA_OPTS value: "-Dcom.cloudbees.jenkins.plugins.kubernetes_credentials_provider.KubernetesCredentialProvider.labelSelector=\"owner=jenkins\""
3条答案
按热度按时间olmpazwi1#
该图表使用Jenkins Docker图像,该图像显示:
您可能需要定制运行Jenkins的JVM,通常是为了传递系统属性(属性列表)或调整堆内存设置。
在图表中,这是使用来自vaues.yaml的Values.master.javaOpts设置的
xwbd5t1u2#
我花了大量的时间寻找答案,并设法逻辑通过一个解决方案,让我满意。我知道这是已经回答,但也许它会帮助有人谁正在寻找这一点。
下面是我的
job.yaml
的摘录:正如您所看到的,
-Dargs
需要作为一个完整的单元来指定,并且每个单元都是相互分离的。我不得不在命令的前面也有它们,但是这可能不是必需的。之后,命令的其余部分必须遵循标准格式。sauutmhj3#
将系统属性传入Jenkins控制器VM的正确方法是使用
controller.containerEnv
值传入JENKINS_JAVA_OPTS
。默认情况下,此变量未设置,因此您可以安全地为其提供自己的值,而不会有覆盖重要内容的风险。示例: