实战每晚构建之设计和实现
1.3 存储设计
存储设计主要是指数据库的设计或者文件格式的设计,构建信息显示系统使用文件系统作为存储目标。构建信息显示系统的存储设计主要工作是定义分析模型中BuildInfoDir类也就是设计模型中BuildInfoDir接口的变量的值和格式。
1.3.1 BuildInfoDir接口
类名/接口名 构建信息存放位置接口 类英文名 BuildInfoDir
成员变量
变量名 变量说明 缺省值或值
webAppDir 是应用服务器存放web应用程序的根目录,这个值根据系统安装而定。
nightlyWebAppName 构建信息显示系统web应用程序的名字,同变量webAppDir一起构成了构建信息显示系统应用程序的根目录。 "nightlybuild"
nightly_Build_Tags 保存所有的构建标签,是构建信息显示系统web应用程序根目录下的一个文件的名字。 "nightBuildLog"
logTopDir 相对于显示系统应用程序的根目录下的一个目录名,保存构建管理服务运行的日志的目录 "adminLogs"
statCVSTopDir 相对于显示系统应用程序的根目录下的一个目录名,保存了所有应用项目的项目度量结果的顶层路径 "statCVSes"
projectLogTopDir 相对于显示系统应用程序的根目录下的一个目录名,保存了所有应用项目构建服务实例运行日志的顶层路径 "projectLogs"
testCoverTopDir 相对于显示系统应用程序的根目录下的一个目录名,保存了所有应用项目的测试覆盖率计算结果的顶层路径 "testCovers"
distTopDir 保存了所有应用项目的发布版的顶层路径,值和变量webAppDir相同
testTopDir 相对于显示系统应用程序的根目录下的一个目录名,保存了所有应用项目的测试结果的顶层路径 "tests"
下面是nightly_Build_Tags所指的文件格式:
每行包括一个项目构建标签,构建标签的格式为项目名-yyyymmdd_HHMMSS的格式
比如可能的文件内容如下:
nightlybuild-20030312_080100
cover-20030312_080100
nightlybuild -20030312_080100
cover-20030313_080100
这个文件内容表示:两个项目分别为nightlybuild和cover,他们在2003年3月12日和13日的早上8点1分得到了构建。
1.4 系统接口设计
系统接口设计主要描述被设计的系统与外界系统特别是操作系统的接口的设计和描述。构建信息显示系统和构建系统的接口就是存储设计中的BuildInfoDir接口,和操作系统无接口。