FinalBuilder : http://www.atozedsoftware.com/finalbuilder/ 。非常好用,可惜是商业软件。支持每日构建的各个环节,内部已集成了对主流版本控制软件,主流语言等支持,甚至可以直接刻录光盘。还可以写自定义插件(只能是delphi的bpl包,不过不会也不要紧,可以调用可执行文件)。并且能够组织的井井有条。
Want : http://sourceforge.net/projects/want/ 看链接就知道是开源的了。它是针对delphi工程的。以前为了选择,写了个评估报告。
每日构建采用软件的评估报告
一、目的:
选择一个符合本公司软件开发实际需求的每日构建软件,并有一定前瞻性。
二、评估项目
1、基本功能 :
(1)、能调用多种版本控制软件取得代码。
(2)、对代码进行编译,并自动管理版本号。
(3)、对编译结果能及时并且自动反馈,编译时的任何错误都能被
追踪。
(4)、可以调用测试软件进行测试。
(5)、构建成功完成后能作出软件“快照”,可直接供测试和发布。
(6)、是否支持多语言编译。
(7)、可灵活定义构建流程。
2、易用性:
界面是否简单易用。
3、后期维护和扩展性:
(1)、每日构建流程的创建是否简便
(2)、项目进行中对每日构建的流程的变更是否简便。
(3)、其他功能的支持,比如集成文件复制,删除,属性更改;压
缩、ftp文件传输等。
4、软件费用:
每日构建软件自身成本,以及使用和维护时产生的费用成本。
三、评估对象
由于时间等方面的原因,只对两个每日构建软件进行评估。
分别是FinalBuilder2和开源软件Want。
四、评估方法
从实际开发流程出发,从VSS取代码,进行编译和发布
五、评估结果
1、针对评估项目:
|
|
FinalBuilder2 |
Want |
|
基本功能 |
支持多种版本控制软件 |
VSS、CVS、QVCS等多种,没有的可以扩充 |
不直接支持,可以改代码 |
|
编译代码,生成版本号 |
支持 |
支持 |
||
及时自动反馈编译结果 |
可以通过日志、e-mail等多种方式反馈 |
日志和界面 |
||
支持测试软件 |
支持AQTIME,可以用命令行扩充 |
支持DUNIT单元测试,其余的要改代码或调用 |
||
构建成功完成可直接供测试和发布 |
可以通过文件复制、ftp等方式直接发布 |
不直接支持,可以改代码 |
||
支持多语言编译。 |
支持DELPHI、JAVA、.NET等 |
只支持DELPHI,但可以改代码 |
||
灵活定义构建流程 |
可以,并可以对构建程序编写脚本事件 |
不太方便 |
||
易用性 |
界面是否简单易用 |
是,完全GUI界面,也支持命令行 |
不太方便,控制台程序,配置时需编写XML文件 |
|
后期维护和扩展性 |
快速创建构建流程 |
是 |
需花时间熟悉,编写XML文件 |
|
快速变更构建的流程 |
是 |
需花时间熟悉,修改XML文件 |
||
其他功能的支持,比如集成文件复制,删除,属性更改;压缩、ftp文件传输等。 |
是 |
支持压缩等,但大部分要动代码 |
||
软件费用: |
费用 |
EUR:300,后期费用少 |
免费,后期费用多 |
|
2、总体描述:
(1)、二者在测试时都发现小BUG,由于WANT是开源软件,迅
速解决问题,但FB2有新闻组支持,第二天也得到反馈。
在SOURCEFORGE上,对WANT的BUG提交最迟是去年10
月,要么是很成熟,要么是人气不足了。后者可能性更大。
(2)、WANT的架构是比较灵活的,比如对多语言编译的扩充,从代
码上看,是可以在其架构上进行。
而FB2的扩充只能是通过调用批文件等或版本升级来进行,但
它已经提供了大多数主流语言的编译。
(3)、在构建流程的配置上,WANT是通过手写XML文件配置,虽然
有它附带辅助工具DOF2WANT来自动从DOF文件生成xml,
但实际情况是生成的文件并不能直接或少许改动后使用,还是有比较大的工作量。单个WANT程序只能编译一个工程文件,如果是群组,必须依次调用,日后组织困难。
FB2是通过图形界面配置,直观易用,流程的顺序和是否使用通
过鼠标控制就可以配置,并可以方便的把多个流程组合并顺序使用。
(4)、FB2还提供了一些其他功能:构建过程中人机交换功能、注
册表的读写、检测磁盘剩余空间、创建虚拟驱动器,调用Install
Shield,对INTERNET的访问、运行脚本(支持四种脚本语言)等功能。
(5)、从每日构建的理论来说,WANT更像是每日编译,虽然它比
直接写编译批文件功能强大一些。FB2相对来说是比较完善的,它的流程化更加清晰,更人性化。
WANT的优势在于开源,可以不断进行完善来达到FB2的功能和便利优势,但所需人工费用很大。
因此,从性价比上看,FB2对一个想通过实施每日构建来提高软件质量和管理质量的公司来说,应该是个比较好的选择