dra*_*ank 12
这是我们做的:
我们有一些自定义脚本来处理我们的数据库升级和推送到生产.对于我们的数据库,我们将所有增量保存在单个文件夹中,脚本会根据可用的增量检查当前的数据库级别,并在需要时应用它们.
晋升为生产,我们有另一个脚本,拉低所有的生产数据,然后运行rsync的推涨的变化.
你不提你在服务器控制的什么水平,但整个过程将是总的发展一样.
我认为根据确切的应用,每个人都会略微不同.这是我们的设置:
发布之前:
/trunk./tags/yymmddhhiiss.一旦稳定,我们运行部署脚本:
/current以指向新签出的标签.如果我们需要快速推出一个小的更改,我们将它合并到当前标记,然后我们可以在服务器上运行一个更简单的修补程序进程:
svn update请注意,某些工具旨在构建/自动化theese进程.Phing是其中之一,Symfony拥有自己的批处理系统,曾经是一个名为pake的独立项目.而且好像这还不够,Zend Framework即将创建自己的变体.这真的有点混乱,但Phing可能是使用最广泛的.您还可以使用非特定于PHP的内容,例如Ant或Capistrano.我们只使用shell脚本,基本上满足了相同的需求.
我们还有一个连续的构建运行,它从主干检出并运行所有测试.目前我们只有一个基本的shell脚本集合,但我们正在考虑切换到PhpUnderControl或xinc.
该迁移的步骤也许值得说明一下.Theese包含对数据库的更改,以及必须为新版本运行的其他任务.我们的迁移目前有点简单; 我们只是有一堆的文件夹.php,并.sql在迁移过程中的脚本和,theese按顺序运行.我们跟踪已经运行了哪些更改的方法是migrations在创建新标记后立即清空文件夹.使用数据库记录已经运行的更改可能更为明智.我们被认为是为了这个目的采用像ruckusing这样的东西.
| 归档时间: |
|
| 查看次数: |
10562 次 |
| 最近记录: |