如何使用 Helm Jenkins Values 'CredentialsXmlSecret'

pca*_*ana 3 jenkins kubernetes-helm

我正在尝试使用 helm 部署 Jenkins。我看到一些值是用 XML 设置的。但是,我不能用 Master.CredentialsXmlSecret 字段来做同样的事情。我试过了:

CredentialsXmlSecret: jenkins-credentials

SecretsFilesSecret:
jenkins-credentials: |-
xml from credentials.xml here
Run Code Online (Sandbox Code Playgroud)

但它不起作用。

Liq*_*ony 5

最简单的方法是启动一个 Jenkins 实例,按照我想要的方式配置它,exec进入它(例如,kubectl exec -it {my-jenkins-pod} /bin/bash),cd进入/var/jenkins_home,然后获取适当的文件并对其进行 base64 编码。

在这种情况下,适当的文件是:

/var/jenkins_home/credentials.xml
/var/jenkins_home/secrets/master.key
/var/jenkins_home/secrets/hudson.util.Secret
Run Code Online (Sandbox Code Playgroud)

base64 -w 0 credentials.xml例如,您可以获取任何这些文件的 base64 编码内容。然后只需将其复制并粘贴到相应的 k8s 密钥中即可。

您需要创建的第一个 k8s 秘密是:

apiVersion: v1
kind: Secret
metadata:
  name: jenkins-credentials
data:
  credentials.xml: AAAGHckcdhie==
Run Code Online (Sandbox Code Playgroud)

其中给定的值credentials.xmlbase64credentials.xml 文件内容的编码字符串。

您需要创建的另一个 k8s 秘密是:

apiVersion: v1
kind: Secret
metadata:
  name: jenkins-secrets-secret
data:
  master.key: AAAdjkdfjicki+
  hudson.util.Secret: AAAidjciud=
Run Code Online (Sandbox Code Playgroud)

然后在您的values.yaml

CredentialsXmlSecret: jenkins-credentials
SecretsFilesSecret: jenkins-secrets-secret
Run Code Online (Sandbox Code Playgroud)

编辑:自20194 月 22 日1.00 版以来,名称约定已更改

感谢 ythdelmar,他在评论中指出,现在是

credentialsXmlSecret: jenkins-credentials
secretsFilesSecret: jenkins-secrets-secret
Run Code Online (Sandbox Code Playgroud)

没有第一个资本。