我正在使用fabric8-maven-plugin在Google Cloud Platform上运行的Jenkins上构建Docker镜像。
该插件提供了将图像推送到Docker注册表的功能,但我无法使其与Google Container Registry一起使用,因为它无法进行身份验证。
从我的Jenkins管道中,我可以使用GCloudBuildWrapper
和gcloud docker -- push
访问注册表。
为了访问Docker注册表,fabric8 Maven插件可以与凭证或extended authentication一起使用,但这似乎仅适用于AWS。
那么可以使用fabric8 Maven插件将Docker镜像推送到Google Container Registry吗?
答案 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
作为用户名。