阅读更多

10顶
0踩

研发管理

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

2010-09-10 14:20 by 见习记者 yjshen 评论(8) 有9946人浏览
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的集成,有什么需要,你可以和我直接联系啊。很希望能见到更多的中国用户来交流。

发表评论

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

相关推荐

  • python 持续集成工具_几种常见的持续集成工具

    本文介绍了常见的几种持续集成工具,以供从业者在工具选择时参考:HudsonCruiseControlContinuumQuickBuildBambooTeamCityCI-EyeHudsonHudson 是一个可扩展的持续集成引擎。主要用于:1.持续、自动地构建/测试软件...

  • testng 定时构建_八大持续集成工具

    下面依次介绍8大持续集成工具Hudson是一个可扩展的持续集成引擎,主要用于:持续、自动地构建/测试软件项目,如CruiseControl与DamageControl。监控一些定时执行的任务。Hudson的特性如下:易于安装-只要把hudson.war...

  • 持续集成工具的选择

    持续集成工具的选择 持续集成(continuous integration)作为敏捷编程的基石现在已经被绝大多数的开发团队所广泛采用。而持续集成的工具现如今也是百花齐放,各有千秋,本文主要对比了在 Java领域中比较...

  • 持续集成工具--QuickBuild(二)

    QuickBuild V4.0版本,和V2.x版本比较,最大的变化是首页由“Configures”改成了“DashBoards”页面。V2.x版本的首页上只能显示...这样只要打开首页,所有项目的持续集成情况都可以一目了然的显示出来。 Gadget,可...

  • 持续集成工具--QuickBuild(一)

    之前一直使用的持续集成工具是LuntBuild和Bamboo。LuntBuild一直更新很慢,缺少很多特性;而Bamboo是商用软件,需要用License,升级比较麻烦。经过一段时间的研究,发现QuickBuild是一个比较适合的替代品。...

  • 持续集成工具

    下面依次介绍8大持续集成工具 一、Hudson Hudson 是一个可扩展的持续集成引擎,主要用于: 持续、自动地构建/测试软件项目,如CruiseControl与DamageControl。监控一些定时执行的任务。 Hudson的...

  • quickbuild php,通过与Quickbuild和Mist.io的持续集成实现云管理和使用监控

    欢迎大家前往云+社区,获取更多腾讯海量技术实践干货...开发人员或者一些自动化运维工具可能会忘记或遗漏掉本该关闭的虚拟主机。而且在云端,如果你忘记了一些东西,你就付出代价(金钱上的)。通常,虚拟主机不管你是...

  • 配置持续集成QuickBuild调用Ranorex进行安卓自动化测试

    在持续集成QuickBuild调用Ranorex,对安卓真机或模拟器运行自动化测试脚本,QuickBuild中步骤配置如下: 1、Check&Update_MT_Script_Android:检查更新svn里的Ranorex安卓测试脚本 可以配置QuickBuild的...

  • 持续集成入门篇

    持续集成(英语:Continuous integration,缩写为 CI),一种软件工程流程(即,开发流程),将所有工程师对于软件的工作复本,每天集成数次到共用主线(mainline)上。 这个名称最早由葛来迪•布区(Grady Booch)...

  • 配置持续集成QuickBuild调用Ranorex进行IOS自动化测试

    在持续集成QuickBuild调用Ranorex,对IOS运行自动化测试脚本,QuickBuild中步骤基本和《配置持续集成QuickBuild调用Ranorex进行安卓自动化测试》 一样。 其中有不同之处在于: 2、Unlock_OpenRxService:解锁...

  • 60道关于Redis的常见面试题.pdf

    - 1. 什么是 Redis?它的主要特点是什么? - 2. Redis 支持哪些数据结构?请详细描述每种数据结构的用途和特点。 - 3. 什么是缓存穿透?在使用 Redis 时,如何防止缓存穿透? - 4. 介绍 Redis 的持久化机制以及对比它们之间的区别。 - 5. 如何实现 Redis 的分布式锁?你了解的分布式锁有哪些实现方式? - 6. Redis 的数据淘汰策略有哪些?分别是如何工作的? - 7. 什么是 Redis 事务?它是如何实现的?与传统数据库事务有何不同? - 8. 如何设置 Redis 的主从复制?主从复制有什么优势和限制? - 9. Redis 支持的数据结构中,有哪些可以实现计数功能?请详细说明其使用场景。 - 10. 什么是 Redis Sentinel?它的作用是什么?如何配置和使用 Sentinel?

  • 2024年社交媒体广告行业分析报告.pptx

    2024年社交媒体广告行业分析报告.pptx

  • 网站界面设计mortal0418代码

    网站界面设计mortal0418代码

  • 2024年休闲椅行业分析报告.pptx

    2024年休闲椅行业分析报告.pptx

  • anaconda3 -windows安装的

    anaconda3 -windows安装的

  • 华为客户关系管理策略解析glz.pptx

    华为客户关系管理策略解析glz.pptx

  • asp.net基于三层模式实验室仪器设备管理系统源码.7z

    实验室设备仪器管理系统基于MVC思想和三层设计模式构建,前台采用bootstrap响应式框架,后台运用div+css技术,确保用户界面的友好与兼容性。在Visual Studio 2010或更高版本软件上进行程序开发,利用sqlserver2005或更先进的数据库系统提供稳定的数据支持。 该系统包含四个核心模块:实验室登陆模块、学生模块、教师模块和管理员模块。登陆模块提供用户注册和登陆功能,确保用户信息的准确与安全。学生模块提供实验课仪器设备的信息查询、借领仪器耗材、设备事故的登记等服务,满足学生在实验过程中的各种需求。 管理员模块功能丰富,包括实验室设备信息查询、设备事故记录、设备资料管理、设备损坏管理以及设备耗材借领等。管理员可以方便地查询和统计设备仪器信息,上报和处理设备事故,更新设备操作指南,管理设备损坏信息,以及处理设备耗材的借领和归还。 实验设备管理数据库是系统的核心部分,管理员可以添加、删除、更改设备信息,记录报废、维修、申请购买以及新增设备的详细信息。所有相关信息如报废表、维修表、设备购买申请表、新增设备属性表等都会在终端实时显示,确保信息的及时性和准确性。 此

  • java练习题2.txt

    java练习题

  • 国产达梦数据库DM88.1.1.45下载链接,Linux-rh7-64位版本.zip

    国产达梦数据库DM88.1.1.45下载链接,Linux-rh7-64位版本.zip

  • 物联网嵌入式ESP32开发例程18-FreeRTOS操作系统之任务通知模拟事件标志组C程序代码.rar

    1、嵌入式物联网ESP32项目实战开发。例程经过精心编写,简单好用。 2、代码使用Visual Studio Code + ESP-IDF开发,C语言编程。例程在ESP32-S3上运行。若在其他型号上运行,请自行调整。 3、如果接入其他传感器,请查看发布的其他资料。 4、ESP32与模块的接线,在代码当中均有定义,请自行对照。 5、若硬件差异,请根据自身情况适当调整代码,程序仅供参考。 6、代码有注释说明,请耐心阅读。 7、技术v:349014857;

Global site tag (gtag.js) - Google Analytics