gcloud - 错误:(gcloud.app.deploy) 获取应用程序的权限错误

Zee*_*oft 18 google-cloud-platform gcloud google-cloud-iam google-cloud-build

我正在尝试在谷歌云上部署 node js 应用程序,但出现以下错误 -

Step #1: ERROR: (gcloud.app.deploy) Permissions error fetching application [apps
/mytest-240512]. Please make sure you are using the correct project ID and that
you have permission to view applications on the project.
Run Code Online (Sandbox Code Playgroud)

我正在运行以下命令 -

gcloud builds submit . --config cloudbuild.yaml
Run Code Online (Sandbox Code Playgroud)

我的 cloudbuild.yaml 文件看起来像 -

steps:
  #install
  - name: 'gcr.io/cloud-builders/npm'
    args: ['install']

   #deploy
  - name: 'gcr.io/cloud-builders/gcloud'
    args: ['app', 'deploy']
Run Code Online (Sandbox Code Playgroud)

Joh*_*ley 43

默认的 Cloud Build 服务帐户不允许访问部署 App Engine。您需要启用 Cloud Build 服务帐号才能执行部署等操作。

Cloud Build 服务帐号的格式如下:

[PROJECT_NUMBER]@cloudbuild.gserviceaccount.com
Run Code Online (Sandbox Code Playgroud)
  • 转到 Google Cloud Console -> IAM 和管理 -> IAM。
  • 找到服务帐户并单击铅笔图标。
  • 将角色“App Engine Deployer”添加到服务帐户。

等待几分钟,让服务帐户全局更新,然后重试。

  • 将“App Engine Admin”角色添加到 [PROJECT_NUMBER]@cloudbuild.gserviceaccount.com 后,现在开始工作 (2认同)

raf*_*ten 6

我今天遇到了同样的错误,解决该问题的方法是$ gcloud auth login在控制台上运行:。

这将打开一个新的浏览器选项卡,供您使用有权访问您尝试部署的项目的凭据登录。

之后我就能够部署到 gcloud 了。

PS:我不确定这是最好的方法,但我将其作为可能的解决方案,因为这就是我通常解决此问题的方法。最坏的情况是,我会接受纠正并学习新的东西。


Ari*_*eck 5

如果您忘记在项目上启用计费,您也可能会收到此错误。我只需前往 Google Cloud Console,搜索 App Engine,然后就会弹出计费设置。