我正在为我的 GAE 应用程序设置“QA 环境”。这个 QA 环境将只是我的家庭网络上的一个小型服务器,具有专用的 IP 地址。我正在编写一个 Ant 脚本来从我的 SVN 存储库中检查项目,在我的构建服务器上构建它,然后将它“远程”(通过我的家庭 LAN)部署到 QA 应用服务器。
使用 Tomcat,我只需scp
将 Web 存档保存到机器的webapps/
目录中,并且由于它可以配置为热部署,这就是我通常需要进行 QA 部署的全部内容。
但是我是 GAE 的新手,所以我不知道如何通过 Ant 实现这样的远程部署。我能想到的最好的(虽然有些令人费解)是:
- 像我通常那样在构建服务器上签出并构建 WAR
scp
WAR 到 QA 机器上某处的暂存目录;说192.168.1.55:/opt/gae/staging
- 在该机器(可能由 Tomcat 或 Jetty 托管)上运行一个轻量级 RESTful Web 服务,以监听客户端访问某个 API,例如
http://192.168.1.55:8080/GaeRemoteApi/deploy
;当请求处理程序收到对该 URL 的请求时,它会启动一个 shell 命令以将 WAR 复制到正确的目录中,然后执行appcfg.sh -upload
以将 WAR 实际部署到我的 QA 应用程序服务器
我很确定我可以在一两天内完成这项工作,但我想知道 GAE 是否提供了更简单(成熟)的解决方案;或者,如果一双新的眼睛能想到更简单的事情。提前致谢!