有没有人有使用php / mysql进行开发/暂存/部署工作流?[已关闭]
我正在考虑一个好的php / mysql Web开发工作流程。
有人有一些提示吗?
我正在考虑一个好的php / mysql Web开发工作流程。
有人有一些提示吗?
以下是我们的工作:
我们有一些自定义脚本来处理我们的数据库升级和向生产环境的推送。对于我们的数据库,我们将所有增量保存在一个文件夹中,脚本根据可用的增量检查当前数据库级别,并在需要时应用它们。
为了提升到生产环境,我们还有另一个脚本,该脚本提取所有生产数据,然后运行 rsync 来推送更改。
您没有提到您对服务器的控制级别,但对于一般开发,整个过程是相同的。
我认为每个人做的事情都略有不同,这取决于确切的应用。以下是我们的设置:
发布之前:
/trunk
/tags/yymmddhhiiss
稳定后,我们运行部署脚本:
/current
如果我们需要快速推送一个小的更改,我们会将其合并到当前标记,然后我们可以在服务器上运行一个更简单的修补程序过程:
svn update
请注意,某些工具旨在构建/自动化流程。Phing就是其中之一,Symfony有自己的批处理系统,这曾经是一个名为pake的独立项目。似乎这还不够,Zend Framework即将创建自己的变体。这一切都有点混乱,但Phing可能是使用最广泛的。你也可以使用非php特定的东西,比如Ant或Capistrano。我们只使用shell脚本,这基本上满足了相同的需求。
我们还有一个连续的构建运行,它从主干中签出并运行所有测试。目前,我们只有一个基本的shell脚本集合来做这件事,但我们正在考虑切换到PhpUnderControl或xinc。
迁移步骤也许值得一点解释。这些包含对数据库的更改,以及必须为新版本运行的其他任务。我们的迁移目前有点简单;我们只需有一个包含一堆脚本的文件夹,在迁移过程中,这些脚本将按顺序运行。我们跟踪已运行哪些更改的方法是在创建新标记后立即清空文件夹。但是,使用数据库来记录已运行的更改可能会更明智。我们正在考虑为此目的采用类似ruckusing的东西。.php
.sql
migrations