我正在尝试通过以下指南将基于(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 讲述了以下内容:
要手动定义位于 Cloud Storage 存储桶中的所有资源,请使用 apps.services.versions 集合的"部署"部分中的参考信息。
我不知道如何使用这个参考。 有人碰到这个问题并解决了它吗?
注意:如果我在本地(在应用程序文件夹中)使用mvn appengine:deploy命令,资源文件会自动暂存到 Cloud Storage 存储桶并部署到App Engine。我想通过管理 API 调用实现类似的行为。
安德烈,我无法清楚地了解是所需app.json文件的配置导致部署失败,还是步骤的顺序。让我尝试介绍该过程和必要的步骤,看看是否有帮助。
当您使用管理 API 将应用部署到 App Engine 时,部署到 App Engine 的实际文件是您上传到 Cloud Storage 分区的文件(而不是本地计算机上的应用副本)。因此,与 Maven 命令不同,您必须先将应用(要部署到 App Engine 的所有文件)上传到 Cloud Storage 分区,然后才能将这些文件部署到 App Engine。
- 有关运行 gsutil 命令的手动步骤,请参阅上传应用资源主题。
- 要以编程方式上传应用,您可以使用云存储 API 的方法(请参阅上传对象下的REST API选项卡)。
将应用程序上传到 Cloud Storage 存储桶后,您可以在app.json文件中映射这些文件的存储桶位置。
app.json文件最终是appengine-web.xml文件的转换 .json 版本,其中包含额外的"部署部分"(定义要部署到 App Engine 的所有文件的 Cloud Storage 存储桶映射)。
- 要将appengine-web.xml文件的内容转换为 .json 格式,您可以使用apps.services.versions 集合参考。
- 要定义"部署部分",请参阅创建 JSON 配置文件主题。
将应用的文件上传到 Cloud Storage 分区并指向这些文件的app.json后,您应该可以发送 POST 请求并将应用部署到 App Engine。