无法使用Artifactory插件将Docker Image推送到Jenkins管道中的Artifactory

吕西洛

我在Artifactory上使用了Docker Registry。我可以使用docker命令拉/推图像。现在,我尝试使用詹金斯(Jenkins)画线推送图像。

该图像称为registry-url/docker/image:latest我在Artifactory上有一个名为的docker存储库docker(我可以使用docker命令将其拖入该存储库)。

此阶段描述了我的Artifactory配置:

...
        stage('Deploy Docker image'){
            steps {
                script {
                    def server = Artifactory.server 'xxx'
                    def rtDocker = Artifactory.docker server: server
                    def buildInfo = rtDocker.push('registry-url/image:latest', 'docker')
                    //also tried:
                    //def buildInfo = rtDocker.push('registry-url/docker/image:latest', 'docker') 
                    //the above results in registry/docker/docker/image..
                    server.publishBuildInfo buildInfo
                }
            }
        }
...

当我使用不同的路径时,我会遇到manifest.json可能是正常错误。我可以在以下位置手动下载manifest.json https://registry-url/artifactory/docker/image/latest/manifest.json

我在Jenkins上使用了一个相当新的Docker版本:

Docker version 18.01.0-ce, build 03596f51b1

到现在为止还挺好。但是,当我运行管道时,在Jenkins中收到以下错误(需要50秒):

Pushing image: registry-url/image:latest
...
com.github.dockerjava.api.exception.DockerClientException: Could not push image: unknown: Not Found
    at com.github.dockerjava.core.command.PushImageResultCallback.awaitSuccess(PushImageResultCallback.java:49)
    at org.jfrog.hudson.pipeline.docker.utils.DockerUtils.pushImage(DockerUtils.java:60)
    at org.jfrog.hudson.pipeline.docker.utils.DockerAgentUtils$3.call(DockerAgentUtils.java:213)
    at org.jfrog.hudson.pipeline.docker.utils.DockerAgentUtils$3.call(DockerAgentUtils.java:205)
    at hudson.remoting.UserRequest.perform(UserRequest.java:153)
    at hudson.remoting.UserRequest.perform(UserRequest.java:50)
  ...

在Artifactory日志中,我看到:

2018-04-25 14:24:26,663 [http-nio-8081-exec-xx] [ERROR] (o.a.a.d.r.DockerResource:153) - Unsupported docker v2 repository request for 'image'
2018-04-25 14:24:46,684 [http-nio-8081-exec-xx] [ERROR] (o.a.a.d.r.DockerResource:153) - Unsupported docker v2 repository request for 'image'
2018-04-25 14:24:46,689 [http-nio-8081-exec-xx] [ERROR] (o.a.a.d.r.DockerResource:153) - Unsupported docker v2 repository request for 'image'
2018-04-25 14:24:46,702 [http-nio-8081-exec-xx] [ERROR] (o.a.a.d.r.DockerResource:153) - Unsupported docker v2 repository request for 'image'

我想念什么或做错什么?

编辑:基于这个问题,我回到了最初的想法:

def buildInfo = rtDocker.push('registry-url/docker/image:latest', 'docker') 

我再次尝试了构建。错误:

Could not find manifest.json in Artifactory in the following path: https://registry-url/artifactory/docker/docker/image/latest/manifest.json

在路径中两次“码头工人”,似乎不起作用。但是,当我在Artifactory检入图像时,...也可以拉出图像。看起来不错,但jenkins构建仍然失败。

Artifactory插件:2.15.1
Artifactory版本:5.10.3

这真的是一个即将修复的错误吗?

酒吧酒吧

可以将Artifcatory配置为带有或不带有反向代理的Docker注册表。看来您的Artifactory没有使用反向代理(无代理配置)进行配置。您可以在此处阅读有关配置选项的更多信息

Jenkins Artifactory插件的版本2.16.1添加了对无代理配置的支持。升级Artifactory插件应该可以解决您的问题。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

无法将Windows docker映像推送到Artifactory

使用 docker-image-resource 将未经授权的错误推送到 Artifactory

如何使用Jenkins管道中的fabric8 maven插件将Docker映像推送到Google Container Registry:未经授权

无法将舵图推送到 jfrog artifactory

无法使用 kaniko 从 GitLab CI 构建 Docker 映像并将其推送到(私有)Artifactory

Jenkins 管道无法使用凭据推送到 gerrit

Jenkins Artifactory插件与Maven

Jenkins Artifactory 插件

使用Artifactory Gradle插件时无法使Spring Boot的buildInfo()工作

推送到Artifactory Docker存储库时未实现501

Artifactory rtBuildInfo 不会在 Jenkins docker 管道中收集环境变量

Jenkins Artifactory发行插件无法提交标签(Windows主机)

通过 cli 或 jenkins 插件将构建部署到 artifactory

Artifactory Maven插件无法部署

Jenkins 管道 + Artifactory 下载未下载

使用 Jenkins 管道脚本将工件发布到 Artifactory 时出错

Jenkins Golang声明性管道:构建Docker映像并推送到Docker Hub

JFrog Artifactory错误:将清单清单为v2模式1的Docker映像推送到此存储库被阻止

Docker Image 无法通过 Jenkins Pipeline 和 docker.withRegistry 推送到 ECR

无法使用Jenkins CloudFoundryPlugin将Docker映像推送到Cloud Foundry

使用声明性管道中的jenkins凭证进行Git推送

Jenkins Artifactory插件:artifactDeploymentPatterns.addInclude等效于声明性管道

从Azure DevOps管道将Docker映像推送到Docker Hub

Bitbucket管道无法推送到Heroku

无法使用jenkins的docker slave插件创建docker映像

Jenkins Artifactory插件-获取最新工件

Jenkins Artifactory插件忽略了Maven UniqueVersion

Jenkins Artifactory 插件 - 从共享库上传

Jenkins Artifactory插件未生成POM文件