使用fabric8-maven-plugin将Docker镜像推送到Google Container Registry?

时间:2017-11-09 13:56:38

标签: maven google-cloud-platform fabric8

我正在使用fabric8-maven-plugin在Google Cloud Platform上运行的Jenkins上构建Docker镜像。

该插件提供了将图像推送到Docker注册表的功能,但我无法使其与Google Container Registry一起使用,因为它无法进行身份验证。

从我的Jenkins管道中,我可以使用GCloudBuildWrappergcloud docker -- push访问注册表。

为了访问Docker注册表,fabric8 Maven插件可以与凭证或extended authentication一起使用,但这似乎仅适用于AWS。

那么可以使用fabric8 Maven插件将Docker镜像推送到Google Container Registry吗?

2 个答案:

答案 0 :(得分:0)

找到问题in the docs for Google Container Registry的解决方案。这个页面提供了两种方法:Docker凭证帮助程序,我无法让它工作,using an access token

使用访问令牌方法,您可以使用' oauth2accesstoken'作为GCR的用户名,以及使用gcloud auth application-default print-access-token作为密码生成的令牌。不完美,但它确实有效。

答案 1 :(得分:0)

基于otto解决方案:

您需要在~/.m2/settings.xml中指定:

<server>
  <id>gcr.io/<!--your-registry--></id>
  <username>oauth2accesstoken</username>
  <password><!-- gcloud oauth token goes here --></password>
</server>

然后,当您在pom.xml中通过ID引用此注册表时,它将自动登录。

必须使用oauth2accesstoken作为用户名。