Java 使用AppEngine管理不同的开发阶段

Java 使用AppEngine管理不同的开发阶段,java,google-app-engine,dev-to-production,Java,Google App Engine,Dev To Production,我想知道:我必须在GAE上管理一个应用程序,并且必须在其生命周期的不同阶段管理这个应用程序。该应用程序使用数据存储、谷歌云存储和一些谷歌地图API。我希望至少有两个环境,开发和生产,如果不是更多的话 这样做容易吗?我该怎么做?例如,我是否需要在appengine控制台中有两个独立的应用程序 此外,还有一个包含许多用户的大型数据存储(大约9000个,正在统计),我需要对其进行管理,但我希望能够将此数据存储从一个环境复制到另一个环境(以避免使用dev值污染生产数据存储)。可能吗?如果是的话,在知道d

我想知道:我必须在GAE上管理一个应用程序,并且必须在其生命周期的不同阶段管理这个应用程序。该应用程序使用数据存储、谷歌云存储和一些谷歌地图API。我希望至少有两个环境,开发和生产,如果不是更多的话

这样做容易吗?我该怎么做?例如,我是否需要在appengine控制台中有两个独立的应用程序

此外,还有一个包含许多用户的大型数据存储(大约9000个,正在统计),我需要对其进行管理,但我希望能够将此数据存储从一个环境复制到另一个环境(以避免使用dev值污染生产数据存储)。可能吗?如果是的话,在知道dev数据存储中有大约1000000个实体的情况下,自动备份dev数据存储中的生产数据存储会有多慢


在我的例子中,是否有一些工具可以提供帮助(除了Git和Maven;)?

取决于您是测试UI(前端)还是测试数据(后端)。Appengine支持访问相同的dDatastore,本质上不同的前端与相同的后端通信。如果您正在进行的开发不会污染您的数据,并且可以在不污染数据的情况下进行测试,那么您可以在开发版本上进行测试。以后很容易进行流量拆分或将其设置为默认版本


如果你正在改变数据——比如说,重构你存储用户和实体的方式——那么你需要一个单独的appengine应用程序来开发和测试它。您可以从管理控制台备份和下载数据存储,也可以从左侧的data->datastore admin将数据复制到另一个应用程序。我不认为有API可以做到这一点,尽管编写的代码不多。我有一个备份/恢复文本搜索数据的脚本(管理控制台不支持),它只有几百行。

我们在GAE上有两个不同的应用程序。 我们在每个应用程序中都有不同的数据集,您可以在应用程序之间备份和恢复数据()。我不推荐这是一个周期性的事情,因为它会花费你很多钱。它将计入你的配额

如果您希望获得两个不同环境的相同数据。您可以使用像user2615861这样的版本 以上建议-但我建议不要这样做。如果您部署的版本包含与其他版本不兼容的实体,则可能会破坏应用程序中的内容


我强烈建议使用2个应用程序。

如果只保存数据存储数据,则可以使用数据存储名称空间获取数据存储数据。问题是它不适用于blobstore之类的其他东西。appengine应用程序是唯一的后端应用程序(Web服务和存储)。到目前为止,我在appengine-web.xml文件中做了更改,我想说我是想在“环境”上上传,还是在其他环境上上传,但我觉得这不是很“干净”