这是我当前的设置:
GitHub存储库,开发者的一个分支。myappdev.appspot.com(非真实url)myapp.appspot.com(非真实url)
在GAE Python 2.7上编写的应用程序,使用django nonrel
开发是在本地开发服务器上执行的。当我准备好发布到dev时,我会增加版本,提交并运行"manage.py upload"到myappdev.appspot.com
一旦测试结果令人满意,我将从dev到main repo的更改合并。然后我运行"manage.py上传"将主回购代码上传到myapp.appspot.com域。
这个设置好吗?以下是我遇到的一些问题。
1) 我是git的新手,所以有时我忘记添加文件,提交也不会通知我。所以我将代码部署到dev,它可以工作,但与dev分支中的代码不匹配。(这是不好的做法)。
2) git repo中的数据存储文件会导致问题。合并二进制文件?在本地机器之间迁移这个文件可以吗,还是会变得一团糟?
3) 我应该为每个发布使用"manage.py上传"到dev或prod环境吗?或者有更好的方法吗?Heroku看起来可以直接从GitHub中提取。我现在做这件事的方式似乎有太多人为错误的空间。
关于如何改进我的设置,有什么总体建议吗?
谢谢!
我的设置非常相似,尽管我仍然运行py2.5,django-nonrl。
1) 我通常使用"git status"或"git gui"来查看是否忘记签入文件。
2) 我个人不会检查我的数据存储。你熟悉.gignore吗?它是一个文本文件,在其中列出了在运行"git status"和其他函数时要忽略的文件。我放入了.gaedata以及.pyc和备份文件。
为了管理数据库,我使用"python manage.py dumpdata>file",它将数据库转储到json编码的文件中。然后我可以使用"python manage.py loaddata"重新加载它。
3) 我不知道git有任何部署。在部署之前,您可能可以编写一个小python脚本来检查git是否是最新的。不过,就我个人而言,在我签入之前,我会部署一些东西进行测试,以确保它能正常工作