【问题标题】:Use imagePullSecrets in Jenkins declarative pipeline在 Jenkins 声明式管道中使用 imagePullSecrets
【发布时间】:2021-01-15 15:19:51
【问题描述】:

这是我用来创建动态 pod 的 Jenkinsfile 中的 sn-p

agent {
        kubernetes {
            label "hello-stage"
            cloud "some-cloud"
            defaultContainer "jnlp"
            idleMinutes 1
            containerTemplate {
                name 'jnlp'
                image 'some-image'
                alwaysPullImage true
                ttyEnabled true
                resourceRequestMemory '1Gi'
                resourceLimitMemory '2Gi' 
            }
            imagePullSecrets '["secret-name"]'
        } // kubernetes
    } // agent

imagePullSecrets 外,一切正常。我试图找到没有运气的文档。我是使用 Jenkins 和 Kubernetes 的新手。这是我得到的错误

WorkflowScript: 23: Invalid config option "imagePullSecrets" for agent type "kubernetes". Valid config options are [activeDeadlineSeconds, cloud, containerTemplate, containerTemplates, customWorkspace, defaultContainer, idleMinutes, inheritFrom, instanceCap, label, namespace, nodeSelector, podRetention, serviceAccount, slaveConnectTimeout, supplementalGroups, workingDir, yaml, yamlFile, yamlMergeStrategy] @ line 23, column 13.
            imagePullSecrets '["quay-operator-updates"]'

有人可以帮我弄清楚如何将 imagePullSecrets 与 Jenkins 声明式管道一起使用吗?

谢谢

【问题讨论】:

    标签: jenkins kubernetes openshift jenkins-plugins jenkins-groovy


    【解决方案1】:

    containerTemplate 现在已被弃用,如提到的here

    使用yaml语法传递imagePullSecrets如下:

    pipeline {
        agent {
            kubernetes {
                yaml """\
            apiVersion: v1
            kind: Pod
            metadata:
                name: 'jenkins-slave'
                namespace: 'your-namespace'
            spec:
                containers:
                - name: jnlp
                  image: jenkins/inbound-agent:4.3-9-alpine
                  tty: true
                - name: demo-application
                  image: some-image
                  imagePullSecrets:
                      - name: your-secret
                  tty: true
    
            """.stripIndent()
            }
        }
        stages {
            stage('run app') {
                steps {
                    container('demo-application') {
                        echo POD_CONTAINER
                    }
                }
            }
        }
    }
    

    【讨论】:

      猜你喜欢
      • 2017-08-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-03
      • 1970-01-01
      • 2017-08-31
      • 1970-01-01
      • 2021-08-02
      相关资源
      最近更新 更多