先了解一些名词,有的是我自创的:
Nightly Build
字面直译为:每晚编译。
实现了自动编译,摆脱了编译的手工劳动;
对于大型系统,编译耗时,在晚间完成则节约了工作成本;
实现版本号的自动管理(Build号,每次编译自增);
milestone 版本
里程碑版本。在编译时,使用里程碑的代码。例如定义为 RELEASE 的里程碑,可以在每次重新将代码提升为 RELEASE 时,删除上一次建立的 RELEASE 的LABEL/TAG,再重新为新代码打上 LABEL/TAG。但更好的方法是将稳定的 LABEL 记录在一个文件(如:PROMOTION)中,这个文件的最新内容即为里程碑代码的标签(TAG/LABEL),删除 LABEL/TAG 的危险动作换成了新建 LABEL/TAG 和 Checkin 文件。
sticky 版本
固定版本。有时想要编译某一固定状态(指定的LABEL/TAG)代码,可将这个 LABEL/TAG 传给编译系统,进行编译,这种编译方式称为 sticky 版本的编译。
nightly 版本
使用最新的代码进行编译。如果代码自上次编译以来没有更改,则无需编译。
版本号的格式为:a.b.c.d。
其中 a - 主版本号(Major version), b - 副版本号(Minor version), c - 发布号(Release), d - 编译号(build)。主版本号和副版本号在项目计划中便已经指定,标志着重要的功能变动。Release版本号 c,用于体现小的功能变更或用来管理项目的分支。build号则在每次编译时自动加1。
PROMOTION
版本提升。某一里程碑(LABEL/TAG标记)代码,随着开发周期的继续,如果能够顺利通过各级测试,并最终发布。则其对应的产品必然经历 daily build版本、alpha测试版本、beta测试版本、release版本。
Starteam 版本控制系统,有专门的 LABEL 管理这种事件,叫做 PROMOTION。对于其它版本控制系统,我们可以很容易的使用文件记录LABEL的方式相对应。
Starteam 的 PROMOTION 请参见我的一篇文章《Starteam Howto》。
版本控制系统
版本控制系统,如:CVS、STARTEAM、PVCS、VSS等,是自动编译系统的基础。熟练掌握其名利行工具的使用是关键。推荐使用CVS作为版本控制系统,因为其命令行功能最强大。
Copyright © 2006 WorldHello 开放文档之源 计划 |