软件开发的每日构建非常重要,如果是ProjectManager或者DevManager,通常很想知道如下内容:
1. 多个开发人员每天都提交code,是否有程序员提交的code导致系统不能编译通过呢? 我想自动检测。
2. 我想每天收到每个build报告,报告内容包含build是否成功,哪些模块build失败.
3. 每天都能保证一个完整的release package并且能唯一区分。
如下的每日构建脚本:
1. 从CVS check out完整代码
2. 部署Build环境,包含copy正确的头文件和库;建立release目录。
3. 根据产品模块进行分别编译,注意生成唯一的build号,并记录编译过程和编译结果。
4. 拷贝编译结果到release目录(通常按照时间建立),使用tar建立release包。
5. 利用ftp client, publish生成的release包到ftp服务器。
6. 自动运行单元测试程序集合与基本测试case,记录测试结果。
7. 根据编译结果和测试结果生成Daily Build报告,通过邮件客户端自动发送到指定的感兴趣的DevorQAorPM组。
8. 把以上内容写入一个脚本中,然后在crontab服务中加入此schedule来运行该脚本,譬如:每天上午8:00进行每日构建。
这样,每天早上,Dev或QA或PM组成员就会收到详细的build和基本测试报告。