Svn Web开发项目管理的良好实践
我意识到“良好实践”一词有点可疑,使用过度,但我认为它适用于我的问题 我有一些很好的web开发经验,但我想听听在做自由职业者工作时,相对于项目管理,有哪些好的基本做法 例如,我的目标域是mydomain.com。我应该在受.htaccess保护的子域(即dev.mydomain.com)或其他方式进行所有测试吗 我熟悉SVN,但不熟悉web开发。控制网站版本的最佳方法是什么 我已经建立了两个数据库,mydbSvn Web开发项目管理的良好实践,svn,version-control,project-management,Svn,Version Control,Project Management,我意识到“良好实践”一词有点可疑,使用过度,但我认为它适用于我的问题 我有一些很好的web开发经验,但我想听听在做自由职业者工作时,相对于项目管理,有哪些好的基本做法 例如,我的目标域是mydomain.com。我应该在受.htaccess保护的子域(即dev.mydomain.com)或其他方式进行所有测试吗 我熟悉SVN,但不熟悉web开发。控制网站版本的最佳方法是什么 我已经建立了两个数据库,mydb\uudev和mydb\urel。我在_dev上完成所有工作,然后将结构转移到_rel,这
\uu
dev和mydb\u
rel。我在_dev上完成所有工作,然后将结构转移到_rel,这有意义吗?第一次发布后会发生什么
如果你能回答其中一些问题,或者把我和一个好的资源联系起来,那就太好了。到目前为止,我的搜索只产生了HTML教程 至于版本控制,我想说的是将所有不是动态创建的东西都置于控制之下。例如,如果您的应用程序在运行时生成了一堆.txt文件,则不需要对这些文件进行版本设置,但任何只创建一次的文件都需要进行版本控制 至于您选择的版本控制系统,我建议您选择SVN以外的版本(可能是Git或Mercurial),但这只是我个人的偏好,而不是任何实质性的原因。我们所做的
setup.py
installer。这样我们就可以安装到生产环境中,摆弄数据库,然后我们就可以开始运行了。我们使用配置文件来确保数据库、目录等使用“生产”名称manage.py syncdb
命令)来构建数据库
在进行模式更改时,我们可以使用脚本或指令。我们必须在测试和生产中再做一次
在部署到全球可见的生产环境时,我们会这样做
我们没有一个名为“prod”的数据库,这很难使用。我们在生产中有“prod_3”,在升级时在阶段中有“prod_4”。然后,我们将配置文件更改为使用“prod_4”。“prod_3”可以挂起,直到我们需要磁盘空间来创建“prod_5”。我通常建议如下。团队应具有3种“部署”环境:
- 开发环境:这是开发人员工作和发布的地方
- 测试环境:这是进行测试的地方,也可能向客户展示。这里应该只部署工作产品
- 生产环境:运行和使用的产品的最终部署
对于与版本控制有关的问题,我将使用它来对源代码进行版本控制。您可以使用任何您喜欢的版本控制(甚至配置管理工具)。在这里,进行分支是一个很好的实践,因此每当您发布产品(将其部署到生产环境)时,您都会创建一个具有相应版本号的分支。同时,您继续在主分支上进行开发。这样做的好处是,您可以修复可能发生在发行版上的错误,并且可以重新部署分支副本,而无需重新部署同时在主开发分支上添加的新功能。在网上搜索分支的最佳实践,有很多东西。然而,我不会直接使用SVN或其他东西来对你的网站进行版本控制。至少我从来没有听说过这样的做法。更好的方法是以某种方式每天在服务器上创建生产环境的备份副本…我发现一些技巧对我自己的工作很有帮助:
- 我为每个项目维护一个包含所有项目相关数据的个人wiki页面。因为这只是我个人的消费,我可以根据需要有机地组织每一个
- 在整个项目过程中保留一个问题日志(在wiki页面或其他地方)。与其用随机电子邮件轰炸你的客户,或者不小心忘记及时提问,保持日志可以让你每隔几天用project rel发送一封连贯的、经过编译的电子邮件