我们已经开始使用 Hudson,目前的工作流程是:
本地结帐 > 代码 > 运行测试 > 更新 > 运行测试 > 提交
而不是轮询,Hudson 只是坐在那里,直到我们实例化一个构建。然后它:
在本地结帐 > 运行 Phing 脚本
然后 Phing 脚本:
svn 导出最新版本 > 运行测试(如果成功)> 生成报告等.. > 压缩导出 > scp 到生产服务器 > .. 变魔术让网站上线...
这一切都很好,花花公子,但它并没有真正让我们有能力进行任何类型的“分期”质量检查,并且每个构建都会构建 repo 头修订版。理想情况下,我们希望 Hudson 轮询或使用提交后挂钩构建每个提交,并且:
在本地结帐 > 运行 Phing 任务以运行测试,如果成功,则生成报告等。
然后能够手动实例化一个自动化部署(通过 Phing 任务),以“从每个特定构建中分阶段 QA 环境或生产。并非每个提交都将部署到 QA。
这个工作流程是否可以通过 Hudson 实现,或者我们是否需要在之后手动运行我们的部署 Phing 任务。