Google App Engine开发和生产环境设置

时间:2012-03-20 13:58:01

标签: django google-app-engine github development-environment python-2.7

这是我目前的设置:

GitHub存储库,dev的一个分支。 myappdev.appspot.com(不是真正的网址) myapp.appspot.com(不是真正的网址)

使用django-nonrel

在GAE Python 2.7上编写的应用程序

开发在本地开发服务器上执行。当我准备发布到dev时,我会增加版本,提交并运行“manage.py upload”到myappdev.appspot.com

一旦测试结果令人满意,我将从dev开始的更改合并到主回购。然后我运行“manage.py upload”将主要的repo代码上传到myapp.appspot.com域。

这个设置好吗?以下是我遇到的一些问题。

1)我是git的新手,所以有时我忘了添加文件,并且提交没有通知我。所以我将代码部署到dev,但是与dev分支中的代码不匹配。 (这是不好的做法)。

2)git repo中的数据存储文件会导致问题。合并二进制文件?是否可以在本地计算机之间迁移此文件,还是会搞砸?

3)我应该为dev或prod环境的每个版本使用“manage.py upload”,还是有更好的方法来做到这一点? Heroku看起来可以直接从GitHub拉出来。我现在这样做的方式似乎有太多人为错误的空间。

有关如何改进设置的总体建议?

谢谢!

1 个答案:

答案 0 :(得分:0)

我的设置非常相似,不过我仍在使用py2.5,django-nonrel。

1)我通常使用'git status'或'git gui'来查看我是否忘记检入文件。

2)我个人不检查我的数据存储区。你熟悉.gitignore吗?这是一个文本文件,您可以在其中列出git在运行“git status”和其他功能时要忽略的文件。我输入.gaedata以及.pyc和备份文件。

要管理数据库,我使用“python manage.py dumpdata> file”将数据库转储到json编码文件。然后我可以使用“python manage.py loaddata”重新加载它。

3)我不知道git的任何部署。在部署之前,您可以编写一个小的python脚本来检查git是否是最新的。就个人而言,在我检查之前,我会部署测试内容以确保它正常工作。

相关问题