我发现这个系统对我来说工作得很好。我假设 VS 2005/2008 和 C#,但相同的原则适用于其他编译器和语言,只是替换你自己的风格。
使用 CC.NET
- 如果有多个位置使用,请使用 scheduleTrigger 检查所有源
- 使用 MSBuild 构建所需的每个解决方案(假设 VS 2005/2008)、nant 或任何最适合编译组件项目的构建工具
- 使用 MSBuild 创建 WIX 安装程序,尽管我也使用 MSBuild 创建 InnoSetup 和 Wise Installation Studio 安装
- 使用 MSBuild 为您希望构建脚本控制的任何项目更新 AssemblyInfo.cs 文件
- 使用源代码管理命令行签入更新的 AssemblyInfo.ca 文件
- 最后使用 MSBuild 将输出安装程序复制到放置服务器中的新文件夹。我使用主要产品可执行文件中的时间戳来制作时间戳以及生成的版本号来命名文件夹(../Builds/Product/vMmrp - DATE TIME/)
我还想在最后生成一封构建通知电子邮件。
至于安装程序建议,需要权衡取舍。
要快速生成,请使用 NSIS 或 Inno Setup 等脚本安装程序。缺点是不兼容 Windows Installer。
对于 Windows Installer 产品,使用 Wise 或 InstallShield 第一次生成速度更快,但工具昂贵,而且我发现我的安装脚本的维护成本很高。第一次使用 WIX 往往要贵得多(学习曲线 + 尖括号税),但随后更容易维护,因为它都是 XML 并且命令行工具易于使用。
我在使用 Inno Setup 进行安装捆绑方面取得了一些成功,因为 Windows Installer 捆绑和链接(至少对于 Windows XP 而言)是一个真正的痛苦。