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:DevelopVsswin32ss.exe"
set SSDIR=C:developvss
::Path to the directory where you will be keeping the archive
set ArchivePath=C:Projectuild
::Path to the Delphi executable.
set DelphiPath="C:Program filesBorlandDelphi7Bindcc32.exe"
::Path to library
set Delphi="C:Program filesBorlandDelphi7"
::Delphi Project Name
set ProjectName=Project1
::LibPath
Set LibPath="C:Program filesBorlandDelphi7Lib; "
::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:Projectuilddcu %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,最重要的是開始。