当前位置:  开发笔记 > 编程语言 > 正文

是否有人使用php/mysql进行开发/暂存/部署工作流程?

如何解决《是否有人使用php/mysql进行开发/暂存/部署工作流程?》经验,为你挑选了2个好方法。

我正在考虑php/mysql web开发的良好工作流程.

有人有提示吗?



1> dragonmantan..:

这是我们做的:

    每个人都在他们的分支中工作(代码,测试等)

    当一切看起来都很好时,它会被合并到Trunk中

    phpUnderControl重建Trunk,运行我们所有的phpUnit测试,构建文档,更新数据库等

    如果一切都过去了,我们就会合并到Stable中

    Stable像Trunk一样完全重建

    将Stable手动提升到我们的生产服务器

我们有一些自定义脚本来处理我们的数据库升级和推送到生产.对于我们的数据库,我们将所有增量保存在单个文件夹中,脚本会根据可用的增量检查当前的数据库级别,并在需要时应用它们.

晋升为生产,我们有另一个脚本,拉低所有的生产数据,然后运行rsync的推涨的变化.

你不提你在服务器控制的什么水平,但整个过程将是总的发展一样.



2> troelskn..:

我认为根据确切的应用,每个人都会略微不同.这是我们的设置:

发布之前:

每个人都承诺/trunk.

当我们想要发布一个版本时,我们将主干复制到/tags/yymmddhhiiss.

我们稳定标签.

一旦稳定,我们运行部署脚本:

在生产服务器上,签出新标记.

转储数据库.

停止守护程序并关闭Web应用程序.

切换符号链接/current以指向新签出的标签.

运行迁移脚本.

重新启动守护程序和应用程序.

如果我们需要快速推出一个小的更改,我们将它合并到当前标记,然后我们可以在服务器上运行一个更简单的修补程序进程:

停止守护程序并关闭Web应用程序.

svn update

重新启动守护程序和应用程序.

请注意,某些工具旨在构建/自动化theese进程.Phing是其中之一,Symfony拥有自己的批处理系统,曾经是一个名为pake的独立项目.而且好像这还不够,Zend Framework即将创建自己的变体.这真的有点混乱,但Phing可能是使用最广泛的.您还可以使用非特定于PHP的内容,例如Ant或Capistrano.我们只使用shell脚本,基本上满足了相同的需求.

我们还有一个连续的构建运行,它从主干检出并运行所有测试.目前我们只有一个基本的shell脚本集合,但我们正在考虑切换到PhpUnderControl或xinc.

迁移的步骤也许值得说明一下.Theese包含对数据库的更改,以及必须为新版本运行的其他任务.我们的迁移目前有点简单; 我们只是有一堆的文件夹.php,并.sql在迁移过程中的脚本和,theese按顺序运行.我们跟踪已经运行了哪些更改的方法是migrations在创建新标记后立即清空文件夹.使用数据库记录已经运行的更改可能更为明智.我们被认为是为了这个目的采用像ruckusing这样的东西.

推荐阅读
Chloemw
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有