通过appengine保持发展和现场

时间:2011-11-19 18:10:18

标签: java google-app-engine deployment

我正在尝试为我的应用引擎网络应用设置开发/测试网站。我希望能够将功能推送到开发站点,然后在测试后更新我的实时/面向用户的站点。

  • 有哪些工具可用于管理这些类型的更新?
  • 是否有任何与eclipse的Google部署插件集成?
  • 有没有什么好地方可以了解这些类型的系统?
  • 我应该使用哪些关键字Google搜索,以便了解更多信息?

2 个答案:

答案 0 :(得分:1)

您需要创建至少两个应用程序名称(不要使用版本,因为您可能会损坏生产): yourname.appspot.com(制作) yournametest.appspot.com(测试)

使用数据存储管理将数据从生产复制到测试(需要使用producton名称添加appengine_config.py - 请参阅appengine_config.py中的文档以允许数据迁移)。

在测试之前更改app.yaml中的版本名称以允许回滚到以前的版本。

部署测试 - 当前应用版本为当前 - 执行测试查看日志和结果: appcfg update -A yournametest yoursourcedir

测试成功后。如果存在任何数据损坏风险,请备份生产。部署生产 - 检查新版本是否有效 - 将默认版本更改为当前版本。 appcfg update -A yourname yoursourcedir

最佳学习地点是Google App Engine页面和Google。

有一些插件,但使用脚本或命令行会更慢。

答案 1 :(得分:0)

来自@Nick和@Chameleon的答案都是非常可行的解决方案。我根据场景使用这两种方法。

对于小型升级,@ Nick解决方案很有意义。您可以通过在应用之前附加版本号来实时测试新版本(例如:3.app-id.appspot.com)。您还需要确保新页面不使用默认(上一个)URL。

对于可能影响用户和/或数据的主要版本,请使用@Chameleon解决方案(GAE有一个工具可将您的数据复制到Datastore Admin下的yr测试应用程序)。有时,该应用程序在本地开发中表现良好,但在实时部署中中断。