繁体   English   中英

Google App Engine:如何执行远程部署到开发者应用服务器?

[英]Google App Engine: How to perform a remote deploy to dev app server?

我正在为我的GAE应用程序设置“QA环境”。 此QA环境将只是我家庭网络上的一个小型服务器,具有专用IP地址。 我正在编写一个Ant脚本来检查我的SVN仓库中的项目,在我的构建服务器上构建它,然后“远程”(通过我的家庭局域网)将其部署到QA应用服务器。

使用Tomcat,我只是将Web存档scp到机器的webapps/目录,因为它可以配置为热部署,这就是我通常需要的QA部署。

但我是GAE的新手,所以我没有看到如何通过Ant实现这样的远程部署。 我能想到的最好的(虽然有点复杂)将是:

  1. 检查并在buildserver上构建WAR,就像我通常那样
  2. 将WAR scp到QA机器上的某个临时目录; 比如192.168.1.55:/opt/gae/staging
  3. 在该计算机上运行一个轻量级RESTful Web服务(可能由Tomcat或Jetty托管),监听客户端访问某个API,比如http://192.168.1.55:8080/GaeRemoteApi/deploy ; 当请求处理程序获得对此URL的请求时,它会启动一个shell命令将WAR复制到正确的目录中,然后执行appcfg.sh -upload以将WAR实际部署到我的QA应用服务器

我很确定我可以在一两天内完成这项工作,但是想知道GAE是否提供了更容易(烘焙)的解决方案; 或者如果一双新鲜的眼睛能想到更简单的东西。 提前致谢!

我想你应该保持简单:

由于您使用的是Ubuntu,因此您可以编写一个shell脚本:

  1. ssh到远程服务器
    • 停止当前的gae dev appserver
    • 重命名现有的war目录
  2. scp将新部署到QA服务器war目录
  3. ssh到QA服务器并启动gae dev appserver

您可以使用以下命令从ant调用shell脚本: http//sumedha.blogspot.com.au/2008/06/how-to-call-shell-script-from-ant.html

要停止dev appserver:

killall -e ./appengine-java-sdk/bin/dev_appserver.sh

要运行dev appserver:

nohup ./appengine-java-sdk/bin/dev_appserver.sh you/war/directory &

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM