我的团队正在开发一个Java应用程序,该应用程序将部署在Google App Engine(GAE)上。目前我们使用eclipse-plugin在GAE中构建和部署代码。
但是,我希望自动化(通过使用cron或svn-post-commit钩子)这个过程,以便在每个Scrum会议之前,在GAE中自动部署subversion trunk中的源代码。我希望这最终会减轻程序员的负担,并帮助他们更专注于应用程序逻辑。
如果可以使用Java + GAE + Subversion
,请告诉我提前致谢
答案 0 :(得分:4)
有可能。这就是我对我的项目所做的。我还应该注意到这个问题与Possible to integrate Google AppEngine and Google Code for continuous integration?中的另一个stackoverflow问题类似,它提供了一些你可以使用的好答案。
话虽这么说,我个人的方法是为eclipse项目设置ant build,并使用Jenkins自动更新Subversion中的代码并使用ant build构建它们。
然后,您可以使用谷歌提供的appcfg和宏添加目标,将您构建的项目上传到Google App Engine。有关在Google App Engine上使用Ant的更多详细信息,请参阅here。
使用Jenkins等持续集成工具的一个好处是,您可以使用JUnit或个人测试风格添加自动单元测试。从长远来看,这将为您的团队带来许多麻烦。
答案 1 :(得分:2)
我使用python进行GAE,并且有一个appcfg.py脚本,可以用一个命令部署代码 -
python appcfg.py update
这让我觉得对于Java来说,必须有一些来自Google的脚本来部署应用程序。如果有一个,那么你要做的事情必须是一个简单的命令,用于cron作业。
答案 2 :(得分:1)
您的团队应使用Continuous Integration工具,例如Jenkins。这也将解决您的下一个问题,您可能没有想过:它可以配置为在部署之前运行单元和集成测试。它有许多版本控制系统集成选项。