Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法使用Artifactory插件将Docker图像推送到Jenkins管道中的Artifactory_Docker_Jenkins_Jenkins Pipeline_Artifactory_Docker Registry - Fatal编程技术网

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

无法使用Artifactory插件将Docker图像推送到Jenkins管道中的Artifactory,docker,jenkins,jenkins-pipeline,artifactory,docker-registry,Docker,Jenkins,Jenkins Pipeline,Artifactory,Docker Registry,我在Artifactory上使用Docker注册表。我能够使用docker命令拉/推图像。现在我尝试使用Jenkins pipline推送图像 该图像称为注册表url/docker/image:latest。 我在Artifactory上有一个docker存储库,名为docker。(我可以使用docker命令拉入和推入此回购) 此阶段描述我的人工制品配置: ... stage('Deploy Docker image'){ steps {

我在Artifactory上使用Docker注册表。我能够使用docker命令拉/推图像。现在我尝试使用Jenkins pipline推送图像

该图像称为
注册表url/docker/image:latest
。 我在Artifactory上有一个docker存储库,名为
docker
。(我可以使用docker命令拉入和推入此回购)

此阶段描述我的人工制品配置:

...
        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
错误,这可能是正常的。 我可以在:
https://registry-url/artifactory/docker/image/latest/manifest.json

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

Docker version 18.01.0-ce, build 03596f51b1
到目前为止还不错。但当我运行管道时,我在Jenkins中收到以下错误(需要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
两次“docker”出现在路径中,似乎不起作用。但当我在人工工厂登记时,图像就在那里。。。我还可以拉图像。看起来不错,但詹金斯的设计还是失败了

人工插件:2.15.1
人工版本:5.10.3


这真的是一个很快就会修复的bug吗?

试试下面这个例子。在这里,我们使用Jenkins管道将docker映像拉入/推离Artifactory:

Artifactory可以配置为docker注册表,可以使用反向代理,也可以不使用反向代理。 看起来您的工件没有使用反向代理(无代理配置)进行配置。您可以阅读有关配置选项的更多信息


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

谢谢,我明天会试试,告诉你它是否有效。我看到新的更新可用,但在询问时没有。:)@我相信,我也面临着同样的问题,来自詹金斯,所以我通过从本地推送图像进行交叉检查。问题是,有没有办法从客户的角度来解决这个问题?不接触注册表端?[目前我无法访问这些内容。]
Could not find manifest.json in Artifactory in the following path: https://registry-url/artifactory/docker/docker/image/latest/manifest.json