我似乎无法使app.json能够使用Google Admin API部署应用程序

时间:2017-04-10 13:49:28

标签: java google-app-engine google-cloud-platform

我正在尝试通过此处的指南将基于(java)的应用程序部署到Google的应用引擎:https://cloud.google.com/appengine/docs/admin-api/deploying-overview

我似乎无法使app.json正确,因此我的应用程序中的所有文件(资源)都将实际部署到App Engine。

这里的指南https://cloud.google.com/appengine/docs/admin-api/creating-config-files告诉我们:

手动定义云存储桶中的所有资源,您在apps.services.versions集合的部署部分中使用参考信息。

我无法弄清楚如何使用此参考。 有人遇到这个并解决了吗?

注意:如果我在本地使用 mvn appengine:deploy 命令(在app文件夹中),资源文件会自动暂存到云存储桶和部署到App Engine。我想通过Admin API调用实现类似的行为

1 个答案:

答案 0 :(得分:0)

Andrei,我无法清楚地了解所需的 app.json 文件的配置是否导致部署失败,或者是否采取了步骤的顺序。让我尝试介绍这个过程和必要的步骤,看看它是否有帮助。

当您使用Admin API将应用程序部署到App Engine时,部署到App Engine的实际文件是您上传到Cloud Storage存储桶的文件(而不是本地计算机上的应用程序副本) )。因此,与Maven命令不同,您必须首先将应用程序(要部署到App Engine的所有文件)上载到云存储桶中,然后才能将这些文件部署到App Engine。

  • 运行gsutil命令的手动步骤位于上传应用程序资源主题中。
  • 要以编程方式上传您的应用,您可以使用Cloud Storage API的方法(请参阅上传对象下的 REST APIS 标签)。

将应用程序上传到云端存储分区后,您就可以在 app.json 文件中映射这些文件的存储分区位置。

app.json 文件最终是 appengine-web.xml 文件的转换后的.json版本,附带“部署部分”(定义部分)要将部署到App Engine的所有文件的云存储桶映射。

  • 要将 appengine-web.xml 文件的内容转换为.json格式,您可以使用 apps.services.versions集合参考。
  • 要定义“部署”部分,请参阅创建JSON配置文件主题。

将您的应用文件上传到您的云存储分区以及指向这些文件的 app.json ,您应该已准备好发送POST请求并将您的应用部署到App Engine。