【问题标题】:How to run a Node app (NextJS) on gcloud from github?如何从 github 在 gcloud 上运行 Node 应用程序(NextJS)?
【发布时间】:2021-03-12 19:51:11
【问题描述】:

我已按照以下步骤操作:

  • 我在 Github 上安装了`Google Cloud Build 应用,将其链接到 Cloud Build 并将其配置为使用某个存储库(私有存储库)
  • 我在 Cloud Build 中设置了触发器:Push to any branch
  • 项目部署后没有应用实例(App Engine -> Dashboard)

我的cloudbuild.yarml 看起来像这样:

steps:
  - name: 'gcr.io/cloud-builders/gcloud'
    args: ['app', 'deploy', '--project=project-name', '--version=$SHORT_SHA']

如果我尝试手动运行触发器:我在 Google Cloud 中收到此错误:

无法获取云构建机器人的凭据

我也尝试根据this article 设置 IAM 角色,但使用 @cloudbuild.gserviceaccount.com 似乎不是有效的“成员”(也许我需要两个项目,一个用于运行,一个用于构建应用程序?)

我如何填补空白/修复提到的错误?

【问题讨论】:

    标签: node.js google-app-engine google-cloud-platform next.js


    【解决方案1】:

    似乎错误消息正在寻找具有所需权限的凭据。在您关注的article 中,在第 4 步中,不要手动添加 Cloud Build 的服务帐户。检查您是否在项目中启用了 Cloud Build API,如果 API 被禁用,请尝试启用。它将自动为 Cloud Build 创建服务帐户,如下所示:

    [PROJECT_NUMBER]@cloudbuild.gserviceaccount.com

    创建服务帐户后,转到 Cloud Build > Setting 页面并为您的应用程序启用所需的角色。

    【讨论】:

    • 谢谢约翰。 Cloud build 是否也创建了一个新的“应用程序”?据我了解,通常的流程(手动部署/构建)是“创建应用程序”->“连接到运行应用程序的服务器”->“做一些事情......”
    • 问题解决了吗?如果是,请接受我的回答。关于第二个问题,您的意思是使用 Cloud Build 在 App Engine 中部署您的应用程序吗?如果我是正确的,也许这个link 可以帮助您解决您的问题。
    • atm 有很多事情要做,但我会尽快尝试你的建议 :)
    猜你喜欢
    • 2021-07-17
    • 2020-03-19
    • 2021-12-06
    • 2021-04-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-08
    • 2015-03-28
    相关资源
    最近更新 更多