4

不完全确定我需要在这里执行的步骤。我有我的Rails应用程序设置和准备到谷歌云平台上部署的最后一件事要做的就是运行gcloud preview app deployGoogle云部署错误 - 无法检索[项目]的默认Google云端存储分区

问题是,当我运行它,我得到的错误

ERROR: Error Response: [403] Request had insufficient authentication scopes. 
ERROR: (gcloud.preview.app.deploy) Could not retrieve the default Google Cloud Storage bucket for [project]. Please try again or use the [bucket] argument. 
[email protected]:/home/project/site/site# 

我敢肯定的错误是相关的。从查找错误我发现启用谷歌存储API可以解决这个问题,它创建项目的默认桶。 Storage API现在已启用,我可以看到存储桶已启用,但错误仍然存​​在。

也许我需要创建从服务器到桶的某种权限,但我不知道这是否是问题,如果这是我需要做什么步骤来设置这些权限?

我需要做什么?我有2个实例设置和一个SQL实例,并在其上安装了一个Rails应用程序。

+0

从哪里开始部署(即您的开发盒,CI系统,Google Compute Engine虚拟机)?您是如何使用gcloud进行身份验证的(gcloud auth login'与服务帐户vs Compute Engine VM上的服务帐户)? –

+0

我在Google Compute Engine虚拟机上从SSH进行部署。我通过他们提供的浏览器SSH进行身份验证。 – Rob

+0

是否在'''App Engine''''''''setting'''中设置了默认桶? –

回答

2

扎克里纽曼走上正轨。请检查您是否已正确验证到gcloud中。我用我的二期项目中的一个选项:

gcloud auth login 

OR

gcloud auth activate-service-account --key-file SERVICE_ACCOUNT_JSON 

我使用的第一个我个人的测试。我在我的CI服务中使用第二个。要从Google Cloud项目的主菜单创建服务帐户JSON,请执行以下操作:

  • 导航到“权限>服务帐户”选项卡。
  • 点击“创建服务帐户”按钮。
  • 输入一个有用的名称。
  • 点击'提供一个新的私钥'复选框
  • 使用JSON密钥类型。
  • 点击“创建”按钮。

这是你会得到保存JSON文件,以便妥善保管的唯一机会。

试试看看会发生什么。

+0

我正在从Google Compute Engine虚拟机上通过SSH进行部署。我通过SSH提供的浏览器进行身份验证 – Rob

+0

Rob:由于您的虚拟机没有相应的Google云端存储权限,因此无法正常工作。您可以使用适当的“范围”重新创建虚拟机,也可以使用Stanley Tso描述的服务帐户。 –