一 FinalBuilder
FinalBuilder其实包含了2个部分:
1) FinalBuilder - Visual Build Automation
FinalBuilder 包含了拥有大量提前实现的脚本库与一个可视化的IDE,使的定义和实现一个build的自动化更加快速。你不必使用批处理文件,脚本或者XML,从而使你从手动的build过程中解放。 你可以更多地将精力聚集到软件的实现上,然后使用FinalBuilder来自动化你的build过程。
2) FinalBuilder - Continous Integration Srever
FinalBuilder专业版中包含了一个Continous Integration Server。FinalBuilder的Continuous Integration Server通过web接口集中了build的管理,使你能够远程控制你的build projects。
主页: http://www.finalbuilder.com/
二 为什么使用FinalBuilder
1)为什么需要build的自动化
* 更短的开发周期,使用一个自动化的build过程,你能够通过单击一个按钮就创建一个可以信赖的build,而且去除了手动操作时的一些错误发生。使用continous integration和daily build schedule,你去除了没有更多的build来检测集成的瓶颈。
* 更高质量的软件,有规律地测试最终将提高你release的软件的质量,一个自动化的build过程是实现有规律测试的基础。FinalBuiler支持大量的测试工具,可以将测试集成到build过程中。
* 更容易学习和使用,一个手动的build过程往往对developers意味着陡峭的学习曲线。自动化build抽象了build的过程,developers只需要单击按钮就可以运行一个build。一个可视化的工具例如FinalBuilder更好地表现一个build,使所有的developers都能够容易地理解。
* 自动地记录日志,当build break使,集中的log相比于单独地查找每个工具的log,更加有助于build过程的调试。FinalBuilder将所有它调用的工具的log集中存放,而且可以只显示errors相关的log。
2)为什么使用FinalBuilder
使用FinalBuilder能够更加容易地定义,调试,维护和运行一个可信赖的build过程。
* 节约时间,自动化的build相比于手动的build更加快速;
* 允许team中的任何人运行build,FinalBuilder很容易使用,你不再需要专门的build专家来创建,维护和运行build;
* 提高了release软件的质量,FinalBuilder通过task的自动化减少了相当多的人为的错误;
* 记录build的状态和时间,FinalBuilder记录了所有的操作的log和它所调用的工具的log,所有的历史的build的log都被存档;
三 FinalBuilder的详细功能
1)FinalBuilder - Visual Build Automation
* 图形接口,FinalBuilder使用具有逻辑结构的图形接口来表示build过程。任何软件开发人员能够使用FinalBuilder且不必学习XML schema或者脚本来定义和维护一个build。
* 600多个内置的actions,提供600多个内置的脚本(actions),FinalBuilder使用action来自动化build过程中的每个常见的task,它也与你现有的编译器,版本控制和测试工具集成。
* 调试的集成,一个调试引擎被完全地集成到FinalBuilder IDE.你能够对action单步调试,设置断点,设置变量检测器来调试build过程。
* 专业版包含了Continuous Integration Server功能。
* 高级流程控制,FinalBuilder包含了try,catch 来对actions进行错误处理,同时也支持像高级语言中的循环和条件控制语句。
* 按计划定时build,FinalBuilder 提供了与windows schedule service的高度集成,运行build每天,每周或任何你想设定的时间运行。
* 详细的日志,所有的build过程中的actions的输出都以log的形式被存储,log以与actions相同的结构组织,这也使得log更容易查找。log也可以被导出为HTML,XML或者文本格式。
* Emal,MSN,FTP,SFTP支持,build过程中可以将build的结果email给你,例如如果build失败了,build log将以email附件的形式发送给你,或者可以发送给你一个ICQ消息。你能够在nntp news server宣布build成功。
* 变量,使用变量来使得你的build过程适应变化,也可以使用变量来在actions间传输信息,同时也使actions可以使用用户相关和机器相关的值。
* 版本控制系统的集成,FinalBuilder 支持非常多的版本控制系统,它能够get,checkout,tag和执行其他的版本控制系统相关的操作。
2)FinalBuilder - Continuous Integration Server
* rich web 接口,FinalBuilder‘s web 接口通过可用性来组合功能。使用AJAX来提高status页,log页,属性页的用户体验,使用flash来更好地展现metrics。
* Build Metrics,FinalBuilder server的build metrics提供了在真个软件周期中build质量的总览,这些交互式的图表展示了编译错误,单元测试错误,帮助文档等错误的趋势。
* 可以通过web来访问build log,通过web来远程访问builg的log。
* Team Management,FinalBuilder与现有的AD用户无缝地集成。FinalBuilder提供了team system模块来自定义用户的安全角色和对project,trigger,server configuration等的权限。
* Trigger和条件,除了continous integration triggers,FinalBuilder提供了其他类型的triggers,例如指定时间,间隔,进程输出或文件事件,同时你可以使用条件来控制你的build triggers。
* Build notification,FinalBuilder使用email,RSS或tray来实现build的notification。
三 FinalBuilder运行
1)FinalBuilder IDE
2)可视化使用actions
3)Server
五 FinalBuilder的插件
FinalBuilder使用插件的架构来实现所有的actions。Action Studio是一个用来实现自定义actions的IDE。