软件公司对持续集成分为本地构建、项目级构建、版本级构建和解决方案级构建四个层次,提交构建作为对CI系统快速反馈能力的单独考核。
术语 |
定义 |
本地构建 |
每个人完成代码提交配置库之前,为了确保代码实现正确性,在本地进行的编译、静态检查、自动化测试活动,通常设置为“一键完成”的本地构建。 |
提交构建 |
一种轻量级的集成构建,代码提交(commit)到版本配置库之后自动触发的第一个构建。提交构建应该是最快的构建,通常小于20分钟 |
项目级构建 |
当开发者完成本地构建提交配置库后,每隔一定时间(通常一天多次),项目组将进行项目级构建,项目级构建包含:编译、静态检查、开发者测试等活动。对于一个版本,项目级构建也可能按照模块、特性分别进行。 |
版本级构建 |
具有完整版本号并能单独发布的称为版本级,把产品版本各模块整合在一起,并进行独立的SDV测试,通常称为版本级构建。版本级构建的典型特征是把各项目模块、各部件集成在一起,并进行黑盒的SDV测试。版本级构建通常并不特别关注静态检查等,更多关注功能的自动化测试。由于SDV执行时间长,通常版本级构建放到每天晚上进行。 |
解决方案级构建 |
软件公司存在多个解决方案交付,把各部件产品组合起来并进行验证的持续集成系统,称为解决方案级构建。 |
其他可能用到的名词:
A、每日构建:每日构建是持续集成的一种特例,通常是每天晚上执行一次,在软件公司实施持续集成时,每日构建通常对应到版本级和解决方案级的构建。
B、发布构建:在某个迭代结束或达到某个里程碑,准备将软件发布给用户时进行的构建。发布构建必须包括验收测试,可能还包含大量的性能和负载测试。发布构建是成本最高的集成构建,构建时间最长,构建频率最低。
总视图 |
解决方案级构建 |
版本级构建 |
项目级构建 |
提交构建 |
产品信息 |
配置到解决方案级版本号 |
配置到基线版本或项目组 |
配置到项目组 |
配置到基线版本或项目组 |
构建类型 |
解决方案级构建 |
版本级构建 |
项目级构建 |
提交构建 |
子系统/模块 |
不填 |
不填 |
根据需要填写 |
根据需要填写 |
规则描述
1、如果提交构建和完整构建是同一个工程,构建类型按如下配置,这样同一个工程就会从项目级(或版本级)、提交构建两个维度来展现:
项目级构建&提交构建
版本级构建&提交构建
2、如果一个版本即一个项目,则“产品信息”配置到项目组,构建类型配置为“版本级构建&项目级构建”,这样同一个工程就会从版本级和项目级两个维度来展现。
3、项目级构建“产品信息”配置到项目组,如果一个项目有多个模块,则每个模块构建工程的“子系统/模块”栏根据需要配置。
4、“产品信息”至少要配置到版本号。
5、版本级构建必须配置插件,执行代码量统计。
构建类型 |
版本级构建 |
项目级级构建 |
产品信息 |
配置到项目组 |
配置到项目组 |
构建类型 |
版本级构建 |
项目级构建 |
子系统/模块 |
不填 |
不填 |