laofo 发表于 2009-04-14 11:34

今天你收到Build Report没有?

作者: scmroad 出自: 配置管理之路 http://bbs.scmroad.com

今天突然想到一个问题就是,构建报告( Build Report).很早以前有本<你的灯亮着吗?>的书,很红,所以偶然间想到这么个题目.

构建管理,简单的说是负责构建(Build),包括做构建(Build)之前的准备(安装构建环境,维护构建环境,安装软件,配置软件等等),每次构建时候的工作(清理构建环境,打标签,下载代码,执行构建)到构建之后的可交付物的整理(收集构建信息,打包上传FTP,发email等等).

从广义的CM职责上来讲,做好构建管理是CM工程师一个很重要也是很基本的工作.前期的准备再好,代码写的再漂亮,到最后就是出不来那个exe(或者iso,dll,so..)那么CM的能力就很让人质疑.

标准构建环境的维护和搭建
所以首先,我们一定要做好标准构建环境(Standard Build Environment)的搭建和维护.对于一个项目来说,标准构建环境要是唯一的可重复的.最好做好标准的构建环境之后,做一个Ghost,做个镜像文件,系统恢复的时候也容易.

用makefile等组织好你的项目.
在项目开始的时候,我们就要用makefile等去组织项目.(这里我们就不讨论为什么要用makefile,ant脚本,而不是利用IDE去组织了.这个已经超出了本文要讨论的范畴.)

尝试着利用一个命令就可以启动项目构建
当我们的makefile,或者脚本写的差不多的时候,我们就可以利用一个命令去构建整个项目了.当你敲进去一个命令的时候,一个项目的编译就开始了,满屏幕的代码,make target 1, make target 2....这个想起来就很酷

让编译时间规律化
设置linux cron job或者windows平台下的Scheduled Tasks(control panel ->Scheduled Tasks),这样就可以固定在某一个时间进行编译build.
当这个任务设置好之后,就可以试着运行几次,看能不能自动build.

构建发布
等可以自动build的以后,我们还要添加一些CM的功能到我们的脚本当中去.
第一个就是打包:可以是简单的用zip打包一下,也可以是用installshield制作一个复杂的安装项目.
第二个就是发布:把打包后的可发布包利用ftp的形式,上传到FTP上.
第三个邮件通知:把开发人员的邮件加到这个email通知的列表里面去,email通知里给出的一定要是http链接哦.也就是说给开发人员的只是http://xxx.scmroad.com/Builds/PROJECT_LABEL1/PROJECT_LABEL1.zip的形式,而不是给别人ftp的地址啊.所以这里你还要配置一下你的IIS或者APACHE,呵呵.CM就是个多面手,什么都会一些才好工作.

OK,做好上面的工作,我们就可以休息一下了,从每天繁琐的工作当中解放出来一些.配置管理(CM)的工作要的就是一个仔细,一个细心.这样每天你和开发人员就可以每天收到一份构建报告(Build Report)了.记得构建报告中出现的错误要让开发人员及时改哦.否则我们辛辛苦苦做的东西,作用就明显降低了,这个要和开发人员在项目会议上协商好啊.

上面的只是一些小小的提示,每个环节都可以做出很多文章.欢迎大家一起来交流.


原贴地址:http://bbs.scmroad.com/viewthread.php?tid=1981&extra=page%3D1

笑口常开了 发表于 2009-05-21 23:05

我走过,我顶过 哈哈

ljs53 发表于 2009-06-07 09:49

回复 #1 laofo 的帖子

不知道这些有没有一个成熟的软件或是平台上可以实现
还是这些都需要SCM手工实现呀?

laofo 发表于 2009-06-09 00:36

回复 #3 ljs53 的帖子

ant可以做,cruisecontrol也可以做,而且都非常容易实现

Johnse 发表于 2009-11-27 09:06

buildforge也可以做.

laofo 发表于 2009-11-27 14:59

回复 #5 Johnse 的帖子

buildforge 贵啊,只有有钱的公司才用。


你们公司在用么?
页: [1]
查看完整版本: 今天你收到Build Report没有?