我们要推一个泊坞窗仓库来DockerHub - 从外壳的作品。但詹金斯我们得到错误信息"errorDetail":{"message":"unauthorized: access to the requested resource is not authorized"
我认为问题是,在外壳(搬运工登陆)我要插入的电子邮件地址,登录名和密码。在詹金斯我只可以设置登录名和密码没有电子邮件。凭据插件的版本是1.24,我们使用的泊坞窗泊坞窗的步骤 - 建造 - 步。
谢谢
你可以与该CloudBees Docker Build and Publish plugin一试?
这个插件允许创建一个构建步骤构建Dockerfile和图像发布到注册表(DockerHub或私人注册表):
另一个解决方案是你的詹金斯机与詹金斯用户登录+上打开的会话与相关凭据DockerHub?
借助该解决方案,DockerHub证书将被缓存和詹金斯应该能够将图像推到DockerHub注册表。
也许你可以使用Docker pipeline plugin(它有推荐的插件)。
Jenkinsfile例如:
node {
checkout scm
def dockerImage
stage('Build image') {
dockerImage = docker.build("username/repository:tag")
}
stage('Push image') {
dockerImage.push()
}
}
这样做,这样,你必须指定管道模型定义的泊坞窗登记的凭据。
码头工人流水线插件具有应用在管道模型定义分配给项目多分支管道的凭据问题。也就是说,如果使用上面的代码,你不断收到错误:
拒绝:请求访问资源被拒绝
然后,你必须按如下方式指定在Jenkinsfile凭据:
node {
checkout scm
def dockerImage
stage('Build image') {
dockerImage = docker.build("username/repository:tag")
}
stage('Push image') {
docker.withRegistry('https://registry-1.docker.io/v2/', 'docker-hub-credentials') {
dockerImage.push()
}
}
}
您可以修改URL到自定义注册表,如果你需要它