我们已经在TFS 2010中设置了构建和部署脚本。 但是我们也在评估Indeo Build Master。有人用过吗?此外,一般来说,对于一个完整的.NET团队来说,是否有必要拥有另一个版本控制工具? 这是inedo的链接。
我在研究Inedo的BuildMaster时也发现了这个。我们是一个.NET/TFS工作室,而BuildMaster解决了各种不同的问题。我找到了一篇博客文章,讨论了它们之间的区别: http://blog.inedo.com/2011/06/06/how-does-buildmaster-compare-to-team-foundation-server/ 我们正在使用BuildMaster的免费版本,并可能在将来的项目中升级到企业版。
Buildmaster有一个TFS插件,可帮助从TFS Builds获取构建。我们使用Gated check-in来确保代码生成,并使用Buildmaster打包构建以便通过环境进行一键部署。Buildmaster采用的是固定向前方法(即无法回滚),在发布过程中为每个版本创建多个构建,每个构建逐步传播到每个环境,当至少有1个构建存在于QA环境且尚未移动到Staging环境时,它们将同时被移动到staging环境中,但按顺序移动,从而确保所有的组件都经过了每个环境。在使用Buildmaster之前,我们使用了一个XML驱动的PowerShell脚本,效果不错,但Buildmaster代理使我们免受了远程桌面脚本执行的影响。我们的Powershell脚本有一个优势,那就是Buildmaster还没有具备的。我们使用xml配置文件来保存应用程序配置文件信息,包括文件名、相对路径和xpath设置,以注入值、XML片段并从源代码控制中删除XML节点。Buildmaster使用存储在Buildmaster中的模板配置文件,每个环境都有标记替换。这导致在配置文件中发生任何更改(例如添加其他环境非特定部分)时需要重新创建模板,因此维护成本较高。 Buildmaster确实有一个自定义操作,允许您运行可执行文件,因此理论上,您可以运行自己的命令来执行Buildmaster没有内置的功能,但这并不理想。