现在的位置: 首页 > 综合 > 正文

版本控制、缺陷管理和持续集成结合实践报告(一)

2013年05月30日 ⁄ 综合 ⁄ 共 3048字 ⁄ 字号 评论关闭

一、安装环境:

1.SVN服务端(不安装缺陷管理平台不需要):Subversion

2.SVN客户端:TortoiseSVN(1.5.x),VisualSVN或者AnkhSVN

3.缺陷管理平台:BugTracker.NET

4.持续集成平台:CruiseControl.NET

二、配置环境:

1.安装SVN服务端:

鉴于CollabNet的打包已经很完善了,就不多提了,值得一提的是,现在的SVN的安装包已经是一个解决方案级数的集成包,涵盖各大平台,连Linux的各大发行版都有各自的安装包,相当方便,更令人兴奋的是安装包还包含配置Apache的一条龙服务,为安装调试省了很多时间,想起以前搞ApacheSVN融合就花去大把时间,真是感慨啊 ^_^

 


 

2.配置VisualSVN:

1)配置文件忽略列表:

 

 

如图示,要忽略的文件有:

[Bb]in [Oo]bj [Dd]ebug [Rr]elease *.user *.aps *.eto *.suo

 

2)设置项目版本库路径和本地路径

 

 

3)同样的TortoiseSVN也设置同样的忽略文件列表 O(_)O

 

3.或者使用AnkhSVN(开源的VS插件,新版本终于支持VS2008 微笑)

下面是一些使用截图,不过功能和易用性上比不上VisualSVN,不过FreeOpen是它的优势 O(_)O

1)设置VS使用AnkhSVN,安装它后默认是这个设置。

 

 

2)版本浏览器

 

 

3)版本控制菜单

 

 

4)文件对比

 

4.配置缺陷管理平台BugTracker.NET(没有服务器的时候,忙吧是不错的替代品,毕竟忙吧不是缺陷管理系统,这方面还是有欠缺的 -_-!

选用BugTracker.NET是看重它够简单,容易和SVN结合,而且是.NET平台,方便出了问题好自己修复好扩展,当然这是时间充裕的美好愿望 呵呵

1)创建数据库后,运行根目录下的Setup.sql构建数据库

2)修改根目录下的$/subversion/btnet_post_commit.vbs // SvnPost脚本

       修改svnlook_pathSVN服务端的安装目录,如

       svnlook_path = """D:/Program Files/CollabNet Subversion Server"""

      

       修改连接字符串connection_string,如:

       connection_string = "Provider=SQLNCLI; Data Source=(local); Initial Catalog=BugTrackerDB;User ID=Alex;Password=密码;"

       【注意】这里是使用ADO连接数据库,如果是SQL 2005,SQLProvide是“SQLNCLI,如果是SQL 2000就是“SQLOLEDB

3)修改根目录下的$/subversion/pre-commit.cmd //其实现在我也看不来它现在的用处在哪里 -_-!

       修改 两个环境变量

       set SUBVERSIONBINPATH=D:/Program Files/CollabNet Subversion Server //SVN服务端目录

       set REPOSITORYPATH=D:/MyApp/TortoiseSVN/BtNet[SVN] // 版本库地址

 

       修改连接字符串CONNECTIONSTRING

       @set CONNECTIONSTRING="Provider=SQLNCLI; Data Source=(local); Initial Catalog=BugTrackerDB;User ID=Alex;Password=密码;"

4)修改集成TSVN的批处理$/subversion/TortoiseSVN_integration.bat

       修改BugTrackerBug页面连接地址

       svn propset -R bugtraq:url "http://localhost:10527/edit_bug.aspx?id=%%BUGID%%" .  // 注意最后的"."不要忽略,这是本地目录的意思 O(_)O

      

5)修改Web.config这几个和SVN有关的设置

       <add key="EnableSubversionIntegration" value="1"/>

       <add key="SubversionRepositoryUrl" value="svn://localhost/BtNet(SVN)"/>

       <add key="SubversionPathToSvn" value="svn.exe"/>

       <add key="SubversionUsername" value="Alex"/>

       <add key="SubversionPassword" value="密码"/>

 

       当然connectstring就不要忘了该哦 O(_)O哈哈~

 

6)创建版本库(当然,你可以用TSVN创建 O(_)O

       脚本:

       cd D:/Program Files/CollabNet Subversion Server //设换到服务端目录,如果设置了环境变量,可以略过 O(_)O

       D:

       svnadmin create D:/MyApp/TortoiseSVN/SVNServer/BtNet(SVN) //创建SVN版本库

 

       创建后记得把刚才修改好的btnet_post_commit.vbs放进hooks目录中 ^_^

 

7)修改版本库的设置(权限等)

       svnserve.conf文件

      

       [general]

       anon-access = read

       auth-access = write

       password-db = passwd

       authz-db = authz

 

       authz文件

      

       [BtNet(SVN):/] //BtNet(SVN)”是版本库根目录

       Alex = rw // 设置用户的读写权限

       * = r // 限制其他用户的写权限

 

       passwd文件 // 设置用户密码

      

       [users]

       Alex = Alex的密码

 

8)运行服务器(当然你可以在安装SVN服务端的时候设置为服务 ^_^

       脚本如:

       svnserve.exe -d -r D:/MyApp/TortoiseSVN/SVNServer //路径为版本库的父目录

 

9)运行TSVN配置脚本

       TortoiseSVN_integration.bat

       【注意】要copy到版本库的本地check out目录的根目录中执行。

5.使用权限管理平台和TSVN(部分功能展示)

       1)创建项目

       2)创建Bug Track

      

    3)结合BugId填写版本更新

      

      

       4Bug Track根据刚才提交关联版本库

                       

       5)查看版本库修改文件,历史和差异等 O(_)O 【差异功能好像有点问题,有空要调试一下才行 -_-!

    

 

 

 

(未完待续)

抱歉!评论已关闭.