2009-12-17 35 views
2

大约2个月前,我超过了当前公司的构建过程。尽管我对此没有太多的了解,但我是唯一有足够时间的人,所以我没有太多选择。构建脚本 - 怎么做

形势并不好,我愿做以下操作:在SourceSafe中

  1. 标签文件的版本(例如项目名PV 1.2)从SourceSafe
  2. GetFiles的特定目录
  3. 构建VB6/C++/C#项目(是的,有各种人)
  4. 构建的InstallShield设置

这是部分使用批处理脚本完成的(一个用于标记和获取,一个用于建筑等)。所以,当开始建设时,我几乎没有照顾它。 此代码的好部分可以重用。

有关如何做得更好的建议?一个大问题是项目之间的整个依赖关系。此外,标签必须增加版本,并在必要时将PV更改为EV。

我想尽量减少用户交互。点击一个构建脚本(Spolsky是上帝),一切都完成了,不需要增加版本,设置从哪里获取文件和类似的东西。

批处理脚本是最好的方法吗?我应该使用msbuild做一些功能吗?还有其他选择吗?

具体的代码是不需要的,现在我只需要一种方法来改善它,即使它不会伤害。

TNX, 马尔科

回答

1

既然你已经有了一个构建系统(尽管它有一些目前是“手动”的),不管你做什么,都不要从头开始。 (1)确保你有一个工作的测试机器(或虚拟机器)。因此,您可以进行更改和改进,而无需担心会破坏任何内容。

(2)将全部放在版本控制中的构建脚本和工具,而不仅仅是源代码。然后当你做出改变时,看看它们是否有效。如果他们这样做,然后将它们保存到版本控制。如果他们不这样做,那就把他们推回去。

(3)一次选择一个区域进行操作。不要试图一次做所有事情。无论您正在使用哪种构建系统,从大量手动工作到“一键式”都需要时间。

1

听起来像是你想有一个持续集成的解决方案,像CC.Net。它有配置选项来完成你想要的所有事情,并且有一个伟大的社区来回答问题。

此外,批处理脚本可能不是一个好的选择。先进的构建和集成工具将使您可以将参数提供到构建中,并为不同环境(测试,生产等)创建不同的构建。批处理脚本将涉及大量的手工编码和胶水。