一尘不染

Google Cloud Jenkins gcloud推送访问被拒绝

jenkins

我正在尝试通过詹金斯(Jenkins)将图像推送到容器存储库。起初它在工作,但是现在,我被“拒绝访问”

docker -- push gcr.io/xxxxxxx-yyyyy-138623/myApp:master.1
The push refers to a repository [gcr.io/xxxxxxx-yyyyy-138623/myApp]
bdc3ba7fdb96: Preparing
5632c278a6dc: Waiting
denied: Access denied.

Jenkinsfile看起来像:

  sh("gcloud docker --authorize-only")
  sh("docker -- push gcr.io/xxxxxxx-yyyyy-138623/hotelpro4u:master.1")

备注:

  • Jenkins在Google Cloud中运行
  • 如果我在Google Shell或计算机上尝试运行,则可以正常运行
  • 我遵循了本教程:https : //github.com/GoogleCloudPlatform/continuous-deployment-on-kubernetes

我困了12个小时。…我需要帮助


阅读 222

收藏
2020-07-25

共1个答案

一尘不染

该错误意味着GKE节点无权推送到支持您的存储库的GCS存储桶。

这可能是因为:

  1. 群集没有正确的范围可以向GCS进行身份验证。您是否创建了带w的集群--scopes storage-rw
  2. 运行群集的服务帐户没有对存储桶的权限。检查项目上的“ IAM和管理”部分,以确保服务帐户具有必要的角色。
2020-07-25