Jenkins-docker凭据失败

问题描述

在ubuntu 18.04,Docker版本19.03.13上使用Jenkins 2.249.1

我已创建dkr-pwd作为秘密文本:

withCredentials([string(credentialsId: 'dkr-pwd',variable: 'dkr-pwd')]) {
              sh "docker login -u my-id -p {dkr-pwd}"
}

也尝试过

withCredentials([usernamePassword(credentialsId: 'dkr-id-pwd',passwordVariable: 'dkr-p',usernameVariable: 'dkr-id')]) {
            sh "docker login -u {dkr-id} -p {dkr-p}"
      }

均失败-unauthorized: incorrect username or password。我知道我的ID /密码是正确的-如果我不使用凭据,请以纯文本格式发送密码sh "docker login -u my-id -p dkr-pwd"

尝试重新创建凭据等,但是没有成功。

凭据绑定插件-1.23,凭据插件-2.3.13

解决方法

尝试

withCredentials([usernamePassword(credentialsId: 'dockerhub',passwordVariable: 'pass',usernameVariable: 'user')]) {
                    
       sh "docker login --username=${user} --password=${pass}"
       sh "docker push username/imagename:latest"
}
         
,

在命令中使用 $ 作为 dkr-pwd,如下所示:

withCredentials([string(credentialsId: 'dkr-pwd',variable: 'dkr-pwd')]) {
       sh "docker login -u my-id -p ${dkr-pwd}"
}