2016-09-15 102 views
1

我正在通過jenkins構建一個碼頭圖像,並且想使用jenkins插件將它部署到Google雲註冊表中(docker-build-step,Google Container Registry Auth插件,Google OAuth憑證插件),使用以下指令:https://wiki.jenkins-ci.org/display/JENKINS/Google+Container+Registry+Auth+PluginJenkins Docker推送到谷歌雲失敗,出現異常

我在GCE上有一個VM實例,我安裝了jenkins和docker。 構建工程確定,但是當我試圖把它推到註冊表失敗:

 
Successfully built c2ddc81c66d1 

[Docker] INFO: Sucessfully created image eu.gcr.io/$project-id/base 
[Docker] INFO: Pushing image eu.gcr.io/$project-id/base 
ERROR: Build step failed with exception 
javax.ws.rs.ProcessingException: org.apache.http.NoHttpResponseException: 127.0.0.1:2375 failed to respond 
    at org.glassfish.jersey.apache.connector.ApacheConnector.apply(ApacheConnector.java:513) 
    at org.glassfish.jersey.client.ClientRuntime.invoke(ClientRuntime.java:246) 
    at org.glassfish.jersey.client.JerseyInvocation$1.call(JerseyInvocation.java:667) 
    at org.glassfish.jersey.client.JerseyInvocation$1.call(JerseyInvocation.java:664) 
    at org.glassfish.jersey.internal.Errors.process(Errors.java:315) 
    at org.glassfish.jersey.internal.Errors.process(Errors.java:297) 

-

但是當我嘗試通過SSH推它,它的工作原理:

 
bash-4.2$ whoami 
jenkins 
bash-4.2$ gcloud docker push eu.gcr.io/$project-id/base 
The push refers to a repository [eu.gcr.io/$project-id/base] 
41772e41ab05: Layer already exists 
a03f60753e4e: Pushing [=========>           ] 9.223 MB/47.44 MB 

我相信,如果它是谷歌虛擬機的某種範圍,我不應該能夠通過SSH做到這一點。它可能是詹金斯用戶環境變量?

任何人都有類似場景的工作配置?任何認識詹金斯的人都知道什麼樣的配置可能導致這種情況?

此外,在使用http://127.0.0.1:2375作爲docker url之前,我使用了unix:///var/run/docker.sock,並且使用該配置,而不是「127.0.0.1:2375 no HttpResponseExpcetion」我有「localhost: 80沒有HttpResponseExpcetion「,因此使用套接字也不是解決方案。

問候, JS

回答

0

誤差與有關失敗詹金斯和谷歌註冊之間的連接。我假設網絡連接沒有問題,因爲它調用本地主機。

[Docker] INFO: Sucessfully created image eu.gcr.io/$project-id/base 
[Docker] INFO: Pushing image eu.gcr.io/$project-id/base 
ERROR: Build step failed with exception 
javax.ws.rs.ProcessingException: org.apache.http.NoHttpResponseException: 127.0.0.1:2375 failed to respond 

因此,這給我們留下了一個應用問題。請檢查您的Google oAuth憑據,它可能是未經授權的訪問異常被投擲,您必須在其中創建憑據。

無論如何,請檢查您的日誌並提升日誌級別以查看是否有任何重要信息未被注意。

+0

哇,謝謝你的提醒!在您的評論之後,我啓用了docker上的調試級別,並再次發現未經授權的訪問異常。之後我再次檢查我的憑證。他們似乎很好,但我去了谷歌註冊表,創建了一個新的帳戶,併爲該帳戶下載了一個JSON。 在此之後,我在jenkins上使用該JSON文件創建了一個新帳戶,瞧,碼頭推送工作!感謝您的提醒! –

相關問題