为了重新部署GAE应用程序,我目前必须在我用于部署的系统上安装GAE部署工具.虽然此过程相对简单,但部署过程是一个手动过程,无法在防火墙后面运行,并且必须在将用于更新GAE应用程序的每台计算机上安装部署工具.如果我可以从之前部署的另一个GAE应用程序更新GAE应用程序,那么更理想的解决方案就是如此.这将消除将多个系统配置为部署应用程序的需要.
由于GAE部署工具是用Python编写的,GAE App Engine支持Python,因此可以修改appcfg.py以便在GAE中工作吗?用例是从GitHub或其他一些在线存储库中提取项目,并从另一个GAE应用程序更新一个GAE应用程序.如果这不可能,限制约束是什么?
可能吗?是.用于更新应用程序的协议appcfg完全基于HTTP,所以绝对没有理由你不能编写能够部署其他应用程序(或重新部署自身 - 自修改代码)的应用程序!您甚至可以重用appcfg.py的大部分内容来完成它.
这简单吗?可能不是.你很可能需要了解一大堆appcfg的内部结构,以及它用来上传新应用程序的RPC - 这不是一项微不足道的事情.您还需要将您的凭据存储在应用程序中,尽管您可以使用角色帐户,该帐户仅适用于其部署的应用程序,以最大限度地降低风险.