【问题标题】:Jenkins - docker credentials fail詹金斯 - 码头工人凭证失败
【发布时间】:2023-04-01 20:41:01
【问题描述】:

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

我创建了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/pwd 是正确的 - 如果我不使用凭据 - 将我的 pwd 作为纯文本发送它可以工作: sh "docker login -u my-id -p dkr-pwd"

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

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

【问题讨论】:

  • 你让它工作了吗?

标签: jenkins ubuntu-18.04 credentials docker-registry


【解决方案1】:

试试

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

【讨论】:

  • 这里没有看到登录到 dockerhub 的步骤?
  • 我基本上在做同样的事情,但它不起作用sh "docker login -u my-id -p {dkr-pwd}"
【解决方案2】:

在你的命令中使用 $ 表示 dkr-pwd,如下所示:

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

【讨论】:

    猜你喜欢
    • 2018-07-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-19
    • 1970-01-01
    • 2019-03-17
    • 2020-09-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多