sys*_*out 55 python deployment google-app-engine staging
正确配置开发服务器和生产服务器之后,我想在Google App Engine上设置一个临时环境,可以在将新版本部署到生产环境之前对其进行实时测试.
我知道两种不同的方法:
答:第一个选项是修改app.yaml 版本参数.
version: app-staging
Run Code Online (Sandbox Code Playgroud)
我不喜欢这种方法的是生产数据受到我的临时测试的污染,因为(如果我错了,请纠正我):
关于第一点,我不知道是否可以使用新的命名空间python API "修复"它.
B.第二个选项是修改app.yaml 应用程序参数
application: foonamestaging
Run Code Online (Sandbox Code Playgroud)
通过这种方法,我将创建一个完全独立于Production版本的第二个应用程序.
我看到的唯一缺点是我被迫配置第二个应用程序(管理员设置).
使用像Gaebar这样的备份\还原工具,此解决方案也可以正常运行.
您使用什么样的方法为Web应用程序设置临时环境?
另外,在部署之前,您是否有任何自动脚本来更改yaml?
Zyg*_*tas 17
如果需要单独的数据存储区,选项B对我来说看起来更清晰,因为:
ben*_*xen 13
我在我的设置中选择了第二个选项,因为它是最快的解决方案,并且我没有制作任何脚本来更改部署中的应用程序参数.
但是我现在看到它的方式,选项A是一个更清洁的解决方案.您可以使用几个代码行根据版本切换数据存储区命名空间,您可以从环境变量CURRENT_VERSION_ID动态获取该文件,如下所示:http://code.google.com/appengine/docs/python/runtime.html #The_Environment
我们选择了B.我认为它总体上更好,因为它完全隔离了项目.因此,例如,使用登台服务器上的某些配置不会影响并且不会危及安全性或导致生产环境中的任何其他蝴蝶效应.
对于部署脚本,您可以在app.yaml中拥有所需的任何应用程序名称.一些虚拟/开发名称,当您部署时,只需使用一个-A
参数:
appcfg.py -A your-app-name update .
Run Code Online (Sandbox Code Playgroud)
这将极大地简化您的部署脚本,无需在app.yaml中进行字符串替换或任何类似操作
归档时间: |
|
查看次数: |
10928 次 |
最近记录: |