管道由三个步骤组成。前两个工作正常。将完成的图像发送到我在 dockerhub 上的存储库时出现问题。这是第三步
stage('Deploy image') {
steps {
script{
docker.withRegistry('https://hub.docker.com', registryCredential ) {
dockerImage.push("$BUILD_NUMBER")
dockerImage.push('latest')
在环境中,registryCredential='dockerhub'(dockerhub 是我在 https://hub.docker.com上的帐户的登录名和密码)
抛出以下错误
$ docker login -u tilk9092 --password-stdin https://hub.docker.com
Error response from daemon: login attempt to https://hub.docker.com/v2/ failed with status: 404 Not Found
[Pipeline] // withDockerRegistry
[Pipeline] }
[Pipeline] // withEnv
[Pipeline] }
[Pipeline] // script
[Pipeline] }
[Pipeline] // stage
[Pipeline] }
[Pipeline] // withEnv
[Pipeline] }
[Pipeline] // withEnv
[Pipeline] }
[Pipeline] // node
[Pipeline] End of Pipeline
ERROR: docker login failed
Finished: FAILURE
想法?
解决方法如下,在envs中声明一个变量
因此,最后一步看起来像这样
据我所知, y 的第二个参数
docker.withRegistry(...)
是 ID 凭据。您是否在 "Credentials -> System -> Global credentials -> Add Credentials" 中
dockerhub
向 Docker Hub 添加了带有用户名和密码的 ID 的凭据?更多信息在这里。