Main line 主代码线:主要开发用代码线。鼓励速度、并发和合作,保证一定的代码稳定性。
修改的代码必须编译通过。周期执行集成构建,构建时必须通过 Regression Test 回归测试。
Main line 工作模式:
1. check out 最新代码
2. 编写新代码或修改代码
3. 执行本地构建
4. 执行单元测试
5. 更新最新代码
6. 执行 Smoke Test
7. 提交
Release-Prep&Release line 发布准备和发布代码线:用于缺陷修复工作。保证代码稳定性。代码相对稳定后从主代码线创建发布准备分支。发布后该分支成为发布分支。
代码提交前必须通过构建和回归测试;只可提交缺陷修复;不可提交新功能 注 1 ;代码提交后代码线冻结,启动 QA 流程。 QA 流程通过后解除冻结状态。如果未通过 QA 流程,则回滚改提交。
3rd party codeline 第三方代码线:确保发布版本包含合适版本的第三方软件。管理重要的、易变动 或项目组需要进行客户化 的第三方软件
提交前可能需要通过回归测试,以检查新版本是否包含所有缺陷修复。
Integration build 集成构建:集中式构建,保证主代码线的相对稳定。
至少每天执行一次。构建中执行回归测试。
Repository 库:存储第三方软件或库、本项目各子系统或模块构建成果,简化各子系统的构建和依赖管理。
Regression Test 回归测试:用于验证新代码是否比前一稳定的构建蜕化
单元测试、针对主要集成场景的测试、针对已发现缺陷的测试 注 2 。
Smoke Test :适合开发环境执行、执行时间较短的测试。用于验证代码修改是否破坏其它代码。
单元测试、针对主要集成场景的测试
* 注 1 :如果必须在发布中增加某新功能,则从发布准备分支中创建一个专为该开发新功能而用的任务分支。充分开发和测试完成后,将该分支上的变动 merge 至发布准备分支。
* 注 2 :发现缺陷后须增加一个重现该缺陷的集成测试案例。定位该缺陷的原因时,须相应增加一个或多个单元测试案例。