打印本文 打印本文 关闭窗口 关闭窗口
Daily build实践
作者:武汉SEO闵涛  文章来源:敏韬网  点击数1055  更新时间:2009/4/23 18:30:58  文章录入:mintao  责任编辑:mintao

Daily build 实践

 

Daily build作为软件开发的最佳实践之一,微软甚至将它称为项目管理的心跳,可见其在软件开发中的重要作用。为什么会有这么高的评价? 除了平常提到的一些显著改进外,主要是因为实现daily build前有一些先决条件,即意味着你至少已经实现下列scm管理:

 

1.       源代码管理

2.       单元测试

3.       版本管理

4.       bug管理

 

在上述基础上进行的daily build,可以说是软件开发的一种习惯。刚开始可能会有所不适应,但逐渐变为一种习惯后,就离不开了。

Daily build现在有很多流行的工具,比如说final builder,支持脚本编写,是很不错的工具。但是没有钱购买工具怎么办,其实简单使用脚本来编写一个批处理工具,来进行daily build,也可以基本实现daily build的功能。下面就已source safe + delphi为例,来实现daily build。

 

 

::Daily Build Script

::viery 2004/07/20

 

::Your project''''s path in VSS

set SSProject="$/Project1/Source"

 

::Your VSS username and password

set Username=Viery

set Password=password

 

::Path to VSS command line tool and the VSS DB you want to use.

set VSSPath="C:\Develop\Vss\win32\ss.exe"

set SSDIR=C:\develop\vss

 

::Path to the directory where you will be keeping the archive

set ArchivePath=C:\Project\build

 

 

::Path to the delphi executable.

set DelphiPath="C:\Program files\Borland\Delphi7\Bin\dcc32.exe"

 

::Path to library

set Delphi="C:\Program files\Borland\Delphi7"

 

::Delphi Project Name

set ProjectName=Project1

 

::LibPath

Set LibPath="C:\Program files\Borland\Delphi7\Lib; "

 

::Begin Code

 

for /F "tokens=2-4 delims=/- " %%A in (''''date/T'''') do set strdate=%%C%%A%%B

 

mkdir %ArchivePath%\%strdate%\ABC0DEF

 

cd %ArchivePath%\%strdate%

 

%VSSPath% get %SSProject% -Y%Username%,%Password% -R -I-

 

%DelphiPath% -u%LibPath% -nc:\Project\build\dcu  %ArchivePath%\%strdate%\%ProjectName%

 

::archive

 

::move to release location

 

::Label the files

%VSSPath% label %SSProject% -L%strdate% -Y%Username%,%Password%  -I-

 

::send emails to all to report

 

       以上就是一个基本的daily build脚本,实现的基本功能包括:

1.       从source safe中get lastest version

2.       调用delphi编译,创建最新的版本

3.       将新版本发布到特定版本的目录

4.       压缩,发布,发送email

5.       将最新的版本号Label源代码。

 

然后将此批处理在windows的调度任务里设定为每天晚上定时执行,即可实现简单的daily build管理。

 

从简单处着手,daily build,最重要的是开始。

打印本文 打印本文 关闭窗口 关闭窗口