如何将秘密文件凭据添加到 jenkins casc 中的作业中?

问题描述 投票:0回答:2

目前我在 jenkins casc 实例中有一份工作,它访问凭据如下:

freeStyleJob('myjob') {
    wrappers {
        credentialsBinding {
            usernamePassword('userVariableName', 'passwordVariableName', 'credential-id')
        }
    }

凭证在 casc.yaml 中提供

credentials:
  system:
    domainCredentials:
    - credentials:
      - usernamepassword:
          scope: GLOBAL
          id: "credential-id"
          username: "user"
          password: "pass123"
          description: "default credentials."

但是,我不想在 casc.yaml 中定义这些凭据,而是想在秘密文件中定义它们。

我如何从我的工作中添加/访问这个秘密文件?秘密文件的内容与casc.yaml中的语法完全相同吗?

jenkins jenkins-pipeline jenkins-plugins jenkins-groovy jenkins-job-dsl
2个回答
1
投票
  - file:
      id: KUBERNETES_SOME_CONFIG 
      description: your description
      secretBytes: "${readFileBase64:/var/jenkins_home/sshKeys/file.txt}"
      scope: GLOBAL
      fileName: file.txt

0
投票

你也可以在casc中这样做:

          - usernamePassword:
              id: "aws-credentials"
              description: "AWS Credentials"
              password: "${casc-secret/AWS_SECRET_ACCESS_KEY}"
              usernameSecret: true
              username: "${casc-secret/AWS_KEYID}"

而2个秘密文件的相关内容就只是

<keyid>
和其他
<access_key>

或者查看 用户名冒号密码示例

还有一些好的答案

© www.soinside.com 2019 - 2024. All rights reserved.