纯爷们的编译发布工具(1)

来源:互联网 发布:淘宝达人推荐在哪里 编辑:程序博客网 时间:2024/05/02 02:50

项目也经历了不少了。

 

从一开始大量的时间花费在开发过程,到大量的时间用在协调各路人马。
其间的过程一路走来,总觉得少了点什么:貌似没有帮CSDN添过一片瓦~~~稍稍感觉不太地道。

 

本来,也鲜有亮点拿得出手。
近几年更是几乎没实际开发过。
只有一些为了应付大量的重复劳动,不得不写的一大堆的脚本。
很简陋,只是作为习作给大伙儿瞄瞄,希望帮得到同行们的斧正。

 

那堆脚本里,算比较完整的只有一款纯脚本的编译发布工具。
很枯燥,估计不可能有MM赏光。所以命名“纯爷们”。

 

先讨论一下编绎发布工具的定义,免得大家想法不尽相同。
常规的开发过程总是处于一个循环过程:
开发->测试->修正->再测试->再修正->...
这个循环中,开发与测试的交流桥梁通常有2样东西,一个是Bug表单,另一个就是交付品(通常是编译结果)。
如果只有1开发1测试,那么交流根本不是问题,但10开发10测试的时候....
交流本身的成本直线上升。
问题成箩,进度失控。

 

究竟会有什么样的问题呢?
手边的例子,我的Bug分类中就有好几条直接相关:
* 测试结果基于旧的版本
* 发布不当,缺少组件
* 基类模块版本错误

 

当类似问题排山倒海的过来,
可以不理会开发们的痛苦,测试们的牢骚,
却不能不无视头儿们脖筋暴粗,双眼冒火~~~~~~

 

那赶紧弄个共享PC吧,开发交付时的编译操作都在上面执行。
管理/使用这台编译PC的工作这个由谁来做呢,当然是逃不了PL。

 

但新的问题又来了,经常有项目每次编译要10多分钟。
现在的项目,编译结果也并不是只要个EXE就OK,多数带有大量的配置文件。
编好以后还需要整理编译结果。
前前后后,全编译1次的话,PL半天就泡上了。
帮公司创造GDP到是个蛮好的借口。

 

不过,还没到需要终日混饭吃的程度。
好吧,上工具。

 

提起编绎工具,不得不说FinalBuilder。
从使用的便利程度到GUI的设计,对于编译这1个步骤来说,不仅仅是好,而是奢华过了头。
本来,基于成本考虑,编译PC用的就是老机器,再套上那个豪华GUI,10分钟编译变成了20分钟。
试用了一段时间,真的要做点稍稍复杂的事,还是要写脚本...
那我还用你干吗呢。

 

既然速度成为一个考量,也就顺大便试用了批处理,速度果然是质的飞跃,但也能力太过简单,
假如想从VSS中提取源码,还不得不求助于脚本,脚本一多...
那我还用你干吗呢。

 

把众多问题总结一下后,编译发布工具的基本要求就变成:
1,不能带有杂质(FB的另一个缺点,安装了很多东西,在某些环境下,会影响编译结果,比如测试对象是NET2.0,FB还自动帮你装了个NET1.1)
2,要有历史记录(测试常常需要追溯比较上几个版本有无同类型问题)
3,命令行的执行速度
4,发送通知,MAIL/Net Send
5,支持FTP传送(有时测试/开发不在同一局域网内)
6,既然有FTP,当然也要支持ZIP压缩
7,提取VSS中的文件
8,解除VSS绑定
9,各类型编译器:VC6/VS2003/VS2005   [注②]

 

一款纯脚本实现的编译发布工具的方向就这么确定下来了。   [注③]

 

(未完待续)
----
①,树老根多,人老话多。
身为程序员也未能幸免。
实际上根本也没什么技术含量的东东,也啰啰嗦嗦地说了一堆。见笑。

②,因为公司的产品都定位在MS的平台下,咱打工的也只是嫁鸡随鸡了。

③,是在没有PowerShell的年代里。