我意识到“良好实践”这个词有点可疑,而且使用过度了,但我认为它适用于我的问题。
我有一些很好的web开发经验,但我想听听在做自由职业时相对于项目管理有哪些好的基本实践。
例如,我有目标域mydomain.com。我是否应该在受.htaccess或其他方式保护的子域(即dev.mydomain.com )中进行所有测试?
我熟悉SVN,但不是用于web开发。控制网站版本的最好方法是什么?
我已经设置了两个数据库,mydb_dev和mydb_rel。把我在_dev上做的所有工作都转移到_rel上,这样做有意义吗?在第一个版本之后会发生什么?
如果你能回答其中的一些问题,或者把我链接到一个好的资源,那就太好了。到目前为止,我的搜索只得到了HTML教程!
发布于 2009-06-18 15:35:22
我通常会提出以下建议。团队应该有3种“部署”环境:
的最终部署
Here's处理这个概念的东西。我建议的是,“测试环境”(或预发布环境)位于与最终“生产环境”相同的服务器上。
对于版本控制,我只会将其用于版本控制源代码。您可以使用您喜欢的任何版本控制(甚至配置管理工具)。在这里进行分支是一个很好的实践,所以每当您发布一个产品(将其部署到生产环境中)时,您都会创建一个具有相应版本号的分支。同时,您可以继续在主分支上进行开发。这样做的好处是,您可以进行可能发生在您的版本中的错误修复,并且您可以重新部署分支副本,而无需重新部署在主开发分支上添加的新功能。在web上搜索分支的最佳实践,周围有很多东西。然而,我不会使用SVN或其他东西来对你的网站directly..at进行版本控制,至少我从未听说过这样的做法。更好的方法是以每天的方式在服务器上创建生产环境的备份副本。
发布于 2009-06-18 15:27:25
我们要做什么。
setup.py安装程序。这样我们就可以安装到生产环境中,摆弄数据库,然后我们就可以正常运行了。我们使用配置文件来确保我们使用的是数据库、目录等的“生产”名称。第一个版本涉及到第一次构建数据库。我们提供一个脚本(或者对于Django,我们运行manage.py syncdb命令)来构建数据库。
当进行模式更改时,我们要么有脚本,要么有指令。我们必须在测试和生产中再做一次。
当部署到对世界可见的生产时,我们这样做。
我们没有名为"prod“的数据库,这很难使用。我们在生产中有"prod_3“,在升级时有"prod_4”。然后我们将配置文件更改为使用"prod_4“。在我们需要磁盘空间来创建"prod_5“之前,"prod_3”可以一直挂起。
发布于 2009-06-18 15:37:42
我在自己的工作中发现了一些有用的技巧:
https://stackoverflow.com/questions/1013263
复制相似问题