我们已经开始使用Hudson,目前的工作流程是:
本地签出>代码>运行测试>更新>运行测试>提交
Hudson 并不进行轮询,而是只是坐在那里,直到我们实例化构建。然后它:
本地结帐 > 运行 Phing 脚本
Phing 脚本如下:
svn 导出最新版本 > 运行测试(如果成功) > 生成报告等.. > 压缩导出 > scp 到生产服务器 > .. 施展魔法使站点上线...
这一切都工作得很好,但是它并没有真正让我们能够进行任何类型的“分阶段”QA,并且每个构建都会构建回购头修订版。理想情况下,我们希望 Hudson 轮询或使用提交后挂钩构建每个提交,并且:
本地结帐 > 运行 Phing 任务来运行测试,如果成功,则生成报告等。
然后能够手动实例化自动部署(通过 Phing 任务)到“分段 QA 环境或每个特定构建的生产。并非每个提交都会部署到 QA。
这个工作流程是否可以通过 Hudson 实现,或者我们是否需要在之后手动运行我们的部署 Phing 任务。
我将构建/测试作业 (job1) 和部署作业 (job2) 分开。每次提交后,Job1 在主干上运行(Hudson 轮询,但提交后挂钩也可以工作)。它还存档构建工件。 Job2 将手动启动。它从 job1 获取 build_number 作为构建参数(我喜欢运行参数),并将工件从 job1 下载到它自己的工作区中。他们运行部署。在您的情况下,我会添加另一个参数(选择参数)来确定您要部署的环境。
使用描述设置器插件,您可以打印出 job1 和环境的运行编号,并且您可以在作业历史记录中轻松查看什么构建被部署到什么环境。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)