自动构建系统设计方案

上一篇 / 下一篇  2009-01-11 16:31:03 / 个人分类:点滴积累

记录一下原先设计的一个AutoBuild(自动构建)系统的方案,后期可能要把版本管理软件换成Git,可配置性和易用性上也要做一些优化

AutoBuild概述

    所谓日构建(AutoBuild),通俗来讲就是每天把所有的软件产品集成起来,并尽可能让其通过编译处于可测试状态,每日构建是持续构建概念在以日计的较小发生频度下的特殊称谓。日构建本质上是一种管理实践,即通过持续集成、快速反馈来保证软件工作产品渐进的、可预期的朝着目标推进日构建为基础管理措施,有利于保证项目成功和提高软件产品质量每日构建是微软比较推荐的最佳实践,强调测试的早期介入和持续的版本集成。

 

1.1 AutoBuild的功能

通过版本控制软件定期(如每夜)检查源代码库 

事件触发(如源码发生改变)或人为指定(如指定特定的版本)进行每日构建

对编译结果及时并且自动反馈,跟踪编译时的错误

调用相应的测试工具或测试脚本进行测试

给源码库的当前构建作一个标签或版本号,并进行管理

记录整个构建流程的日志并通过EMAIL自动发送构建结果

 

1.2为什么要AutoBuild

自动从版本控制器中提取最新代码,实现自动编译,摆脱编译的手工劳动,提高了效率

大系统编译耗时,利用晚上的时间完成,节省时间和节约资源,并且减少工作成本 

在不断地进行构建、测试中,发现错误及时纠正,保证了每日构建的质量 

及早的发现开发BUG和缺陷并分析解决,缩短跟踪 bug 周期,提高效率 

将系统的大集成分解为每日构建中的小集成,避免了产品集成或集成测试时候出现的严重问题的可能

进度可见并可以控制到1-2天的细粒度,很容易看到进度的偏差

保证编译版本与源代码的一致,达到软件版本与源代码的真正受控

 

 

系统设计方案

 

2.1 系统设计图

 

            

 

 

2.2 各功能部件详细设计

2.2.1 版本控制

开发人员通过SVN客户端提交更新软件代码,SVN对版本控制服务器上的源码进行管理

模块角色:项目开发人员

版本控制服务器:这是一个文件服务器,存放源代码,项目构建将从这里提取所用的全部源代码和工程文件等相关资源

版本控制软件:开发人员通过SVN客户端对代码进行更新提交;源代码通过SVN进行控制管理

 

2.2.2 项目构建

项目构建人员通过Web页面设置构建项目的配置项,触发项目构建;构件服务器读取构建配置项,调用R2Build软件对软件项目进行构建

模块角色:项目构建人员

 

界面配置部分:

编译环境:Win32环境、Symbian环境

编译方式:Debug版本、Release版本

编译选项:按软件编译时的配置选项

软件项目:指定需要编译的软件项目

指定版本:通过版本编号或指定日期来指定相应代码版本(默认为当前最新的代码)

编译结果输出:设置编译之后生成的可执行文件的目录,并指定相应版本编号

构建结果输出:设置构建日志的输出目录,设置EMAIL发送构建结果

 

项目构建部分:

构件服务器:这是AutoBuild主机(设计为和版本控制服务器同一台机器),实现软件产品的自动提取,自动编译、构造过程。这个服务器上需要安装编译器,版本控制器等。

编译资源:VS2005、VC6.0、Carbide C++、命令行编译脚本、各种必需的SDK或资源

软件编译:通过指定的编译环境(Win32/Symbian)和编译选项(Release/Debug),对指定的软件项目进行编译

项目构建:通过R2Build及xml配置对整个软件项目进行构建,包括文件夹/文件的创建/删除,指定代码的自动获取,编译软件的调用及相关脚本的执行,编译结果的保存分发

 

2.2.3 构建结果

对项目构建产生的结果进行处理:

模块角色:项目构建人员、项目测试人员

编译输出:对编译之后生成的可执行文件放置到相应目录下并且进行版本编号,记录编译的日志文件

测试输出:调用测试工具、脚本对编译结果进行测试,并记录测试日志输出测试结果给项目测试人员

构建输出:对整个构建流程记录日志并且通过EMAIL发送构建结果、日志文件给项目构建人员

 

2.3 构建流程图

R2Build上一个简单的构建流程图如下:

1.FileOperation
  项目构建之前的一些准备操作,如文件夹/文件的创建/删除,配置文件的修改/读取。 操作成功则继续下一步操作

 

2.Subversion Checkout
   使用版本控制软件(Subversioin),根据配置选项从版本服务器上读取符合要求的软件代码及资源,如指定项目、指定日期、指定版本的软件代码。操作成功则继续下一步操作

 

3.Visual Studio 2005

      使用编译软件(Visual Stuido 2005),读取软件项目的工程文件*.sln(实际操作时可以根据指定的编译配置项修改该工程文件或者相关配置文件),读取编译方式(Win32/SymbinanDebug/Release,Build/Rebuild),对获取的代码进行编译,生成可执行文件和目标文件等一系列产出。操作成功则继续下一步操作

 

4.FileOperation

    对构建结果进行操作,如编译输出的拷贝/移动/打包,编译/构建日志的编写。

操作成功继续下一步操作

 

5.Send Email
 编译/构建日志和报告的归档,Email通知构建人员项目构建的结果


TAG: 点滴积累

 

评分:0

我来说两句

日历

« 2024-05-17  
   1234
567891011
12131415161718
19202122232425
262728293031 

数据统计

  • 访问量: 6120
  • 日志数: 12
  • 建立时间: 2008-12-22
  • 更新时间: 2009-01-11

RSS订阅

Open Toolbar