加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

在Jenkinsfile中使用私有docker注册表和Authentication

发布时间:2020-12-16 03:48:45 所属栏目:安全 来源:网络整理
导读:如何教我的Jenkisfile在此设置中通过基本身份验证登录? 我正在为我的Jenkins构建使用自定义docker镜像. 如文档here中所述,我定义了一个docker agent,如下所示: pipeline {agent { docker { image 'registry.az1:5043/maven-proto' registryUrl 'https://re

如何教我的Jenkisfile在此设置中通过基本身份验证登录?

我正在为我的Jenkins构建使用自定义docker镜像.
如文档here中所述,我定义了一个docker agent,如下所示:

pipeline {
agent { 
    docker {
        image 'registry.az1:5043/maven-proto'
        registryUrl 'https://registry.az1'
        args '-v /var/jenkins_home/.m2:/root/.m2'
    }
}
options {
    timeout(time: 1,unit: 'HOURS')
    buildDiscarder(logRotator(numToKeepStr:'10'))
}

stages {
    stage ('Build') {
        steps{
            sh ...
        }
    }

    stage ('Test') {
        steps {
            sh ...
        }
    } 

     stage ('Deploy') {
        steps {
            sh ...
        }
    }
}

post {
    always {
        echo 'Clean up workspace'
        deleteDir()
    }
}

}

如果我使用以下代理设置:

pipeline {
agent { 
    docker.withRegistry('https://registry.az1','registry_login'){
        image 'registry.az1:5043/maven-proto'
        registryUrl 'https://registry.az1'
        args '-v /var/jenkins_home/.m2:/root/.m2'
    }
}

管道的执行失败,出现以下异常:

WorkflowScript: 3: Too many arguments for map key "withRegistry" @ line 3,column 16.
       docker.withRegistry('https://registry.az1','registry_login'){
              ^

WorkflowScript: 3: Invalid agent type "withRegistry" specified. Must be one of [docker,dockerfile,label,any,none] @ line 3,column 16.
           docker.withRegistry('https://registry.az1','registry_login'){
                  ^

问题是使用的注册表需要基本的身份验证登录.注册表使用this配置在nginx反向代理后面运行.

最佳答案
如Using a custom registry中所述,您可以指定要使用的凭据和注册表URL:

docker.withRegistry('https://registry.az1','credentials-id') {
    ...
}

您需要创建一个Jenkins凭证对象,该对象将包含存储库的凭据,并为其替换名称以替换上面的凭证ID.

更新:

对于声明性管道,语法如下:

agent { 
    docker {
        image 'registry.az1:5043/maven-proto'
        registryUrl 'https://registry.az1'
        registryCredentialsId 'credentials-id'
        args '-v /var/jenkins_home/.m2:/root/.m2'
    }
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读