阅读更多

10顶
0踩

研发管理

原创新闻 持续集成工具QuickBuild 3.0发布

2010-09-10 14:20 by 见习记者 yjshen 评论(8) 有10054人浏览
QuickBuild是一个不那么知名的持续集成和发布管理软件,可免费用于不多于16个项目的构建。


近日发布了3.0版本。这个版本最大的改进是增加了与issue tracking工具的集成。通过该集成,QuickBuild将builds,issues以及SCM changes等信息有序整合起来达到改善开发流程的目的。在开发过程中,您可能有过这样的经历:在完成一个feature或者改正一个bug之后,您需要不厌其烦的到issue tracking系统里面将相关issue的状态改为”已解决”。而且你可能还不知道将要包含你的改动的build的版本号,所以只好将“fix in”字段写成“下个版本”。另外对于敏捷开发过程,可能要经常发布测试版本。对于这些测试版本中到底包含哪些feature或者改了什么bug,您可能要耗费精力去维护。

对于这些枯燥无味又容易出错的工作,QuickBuild 3.0可以为您代劳。具体来说,开发人员完成一个feature或者改正一个bug后,只要commit相应的代码并在comment里面提及改正的issue ID,QuickBuild自动去issue tracking系统将相关issue的状态改为resolved,并且将该issue同合适的build挂钩起来。所以关心这个issue的人马上可以知道它在那个build里面被修正。而对于测试人员,当QA build产生后,他们可以登录QuickBuild系统来查看所有在当前测试版本中待测的issue。

目前我们支持JIRA, Trac和Bugzilla. QuickBuild还可以将QA或者release build的版本发布到JIRA或者Trac中,以便同issue关联。您也可以配置QuickBuild使得它在创建QA或者release build的时候,使用JIRA或者Trac里面管理的下一个待发布的版本作为build的版本号。QuickBuild在创建build成功后,可以到JIRA或者Trac里面将该未发布版本标识为”已发布“。

对于JIRA,我们还写了个plugin来查看和比较所有关联到特定issue的SCM change set和文件。


这个版本的另一个改进是build的step可以重用,而且可以进行循环。您可以做到只配置一个step然后告诉它:小强,你到所有的我们支持的操作系统上,对所有的JDK或者.NET框架,运行一下测试吧。

更多的改进请参考:http://www.pmease.com/features/whats-new/
来自: www.pmease.com
10
0
评论 共 8 条 请登录后发表评论
8 楼 lovefly_zero 2010-11-15 10:57
避实就虚。
yjshen 写道
diggywang 写道
给一个用QuickBuild而不用Hudson的理由

每个工具都有自身的特点,否则在充分竞争的环境下它就没有存在的必要了。QuickBuild能有自己的一席之地是因为:

1. Hudson需要先checkin,然后运行持续集成。而QuickBuild可以做到先运行持续集成,然后checkin。其工作机制是QuickBuild可以在到你的机器上收集所有的未checkin的改动,然后再服务器上与其他人的工作合并在一起,运行持续集成。这样的好处是持续集成不通过的代码基本上没有机会进入代码库,也就不会对其他人的工作造成影响。
2. Hudson的job可以包含很多step,但是据我所知所有的这些step必须在同一台机器上运行。也就是说它的分布式build是基于job的,一旦Hudson为一个job选定了机器,所有的step必须在同一个机器上运行。而QuickBuild的分布式build机制不一样,同一个job(在QuickBuild里面叫做configuration)里面的不同step可以在不同的机器上运行。比如在build一个大的项目时候,你可以配置多个step分别在不同的机器上build和测试不同的模块来提高速度,最后再汇总build结果。
3. 开发流程的优化。QuickBuild不仅仅是一个持续集成工具,它可以管理软件开发生命周期中所有阶段的build,比如说QA和release build。不同阶段的build可以通过promotion串联起来,来保证一致性和达到可跟踪的目的。一些简单的例子:http://wiki.pmease.com/display/qb30/Promote+Builds
4. 项目配置的继承和覆写机制,以及灵活的变量和脚本支持。这些机制使得管理很多项目的构建变得很容易。试想一下如果让你在hudson里面配置和维护2000个job会不会累倒你。而我们的客户很多都是用一个QuickBuild instance来管理他们所有项目的所有build,几千个项目的构建是家常便饭。

Hudson当然也有很多优点,比如说开源,plugin众多等等。但是有更多的工具选择对用户来说总归是件好事,因为不同的应用场合对工具的要求也不尽相同。


总觉得有点避实击虚。

Hudson同样能完成这样的工作。
1、通过本地Git和Hudson持续集成服务器Salve容器可完成第一步的构建。也不会影响代码基线。
2、理想的项目构建一定是按生命周期分段执行,这样可以即缩短构建时间,又便于缩短构建失败时的检查时间。
3、Hudson同样可以创建流程,构建以后执行下阶段任务,从而串联到软件开发的整个生命周期。
4、Hudson完全支持覆写机制,及其方便。同样你可以在对项目创建视图,每个视图管理一系列相关的任务。
7 楼 yjshen 2010-09-13 12:08
对第四点的更正:
引用
4. 项目配置的继承和覆写机制,以及灵活的变量和脚本支持。这些机制使得管理很多项目的构建变得很容易。试想一下如果让你在hudson里面配置和维护2000个job会不会累倒你。而我们的客户很多都是用一个QuickBuild instance来管理他们所有项目的所有build,几千个项目的构建是家常便饭。

几千个job的构建是家常便饭。这不意味着有几千个不同的软件项目(事实上也很少有公司有那么多软件项目),而是所有软件项目的所有分支以及所有阶段(比如CI, QA, Release等等)。
6 楼 yjshen 2010-09-13 11:59
diggywang 写道
给一个用QuickBuild而不用Hudson的理由

每个工具都有自身的特点,否则在充分竞争的环境下它就没有存在的必要了。QuickBuild能有自己的一席之地是因为:

1. Hudson需要先checkin,然后运行持续集成。而QuickBuild可以做到先运行持续集成,然后checkin。其工作机制是QuickBuild可以在到你的机器上收集所有的未checkin的改动,然后再服务器上与其他人的工作合并在一起,运行持续集成。这样的好处是持续集成不通过的代码基本上没有机会进入代码库,也就不会对其他人的工作造成影响。
2. Hudson的job可以包含很多step,但是据我所知所有的这些step必须在同一台机器上运行。也就是说它的分布式build是基于job的,一旦Hudson为一个job选定了机器,所有的step必须在同一个机器上运行。而QuickBuild的分布式build机制不一样,同一个job(在QuickBuild里面叫做configuration)里面的不同step可以在不同的机器上运行。比如在build一个大的项目时候,你可以配置多个step分别在不同的机器上build和测试不同的模块来提高速度,最后再汇总build结果。
3. 开发流程的优化。QuickBuild不仅仅是一个持续集成工具,它可以管理软件开发生命周期中所有阶段的build,比如说QA和release build。不同阶段的build可以通过promotion串联起来,来保证一致性和达到可跟踪的目的。一些简单的例子:http://wiki.pmease.com/display/qb30/Promote+Builds
4. 项目配置的继承和覆写机制,以及灵活的变量和脚本支持。这些机制使得管理很多项目的构建变得很容易。试想一下如果让你在hudson里面配置和维护2000个job会不会累倒你。而我们的客户很多都是用一个QuickBuild instance来管理他们所有项目的所有build,几千个项目的构建是家常便饭。

Hudson当然也有很多优点,比如说开源,plugin众多等等。但是有更多的工具选择对用户来说总归是件好事,因为不同的应用场合对工具的要求也不尽相同。
5 楼 diggywang 2010-09-13 08:49
给一个用QuickBuild而不用Hudson的理由
4 楼 yjshen 2010-09-11 15:35
jetspeed 写道
好东西,国内有技术和商务支持吗?

谢谢支持!免费版本可以通过论坛(forum.pmease.com)得到支持。商业版本用户通过发送support request,将会得到快捷的技术支持。
3 楼 yjshen 2010-09-11 15:30
cristal 写道
恭喜恭喜!什么时候可以支持git啊(在你们的论坛里有说是下个版本,不过不知道是什么时候发布),我们现在有些项目要把subversion迁移到git上去。现在我们自己做了一个plugin(没有proof build),不过还是期待QuickBuild得直接支持,如果有需要的话,我们也可以contribute给你们。另外,建议你们可以建立一个第三方的社区,这样可以和更多的用户进行plugin的共享和交流。我们自己做了一些个plugin,包括CPPUnit, RubyUnit,以及和Confluence的集成,有什么需要,你可以和我直接联系啊。很希望能见到更多的中国用户来交流。

非常感谢你的建议!3.1版本会包含Git,Mercurial和Bazaar的支持,大概会在10月底发布。我们打算用redmine来建立一个第三方plugin发布和共享的平台,届时欢迎上传你们的plugin!
2 楼 jetspeed 2010-09-10 22:57
好东西,国内有技术和商务支持吗?
1 楼 cristal 2010-09-10 16:09
恭喜恭喜!什么时候可以支持git啊(在你们的论坛里有说是下个版本,不过不知道是什么时候发布),我们现在有些项目要把subversion迁移到git上去。现在我们自己做了一个plugin(没有proof build),不过还是期待QuickBuild得直接支持,如果有需要的话,我们也可以contribute给你们。另外,建议你们可以建立一个第三方的社区,这样可以和更多的用户进行plugin的共享和交流。我们自己做了一些个plugin,包括CPPUnit, RubyUnit,以及和Confluence的集成,有什么需要,你可以和我直接联系啊。很希望能见到更多的中国用户来交流。

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

Global site tag (gtag.js) - Google Analytics