我的任务是提高质量并实施TeamCity以实现持续集成。我在TeamCity方面的经验非常有限 - 我自己主要使用TFS,并且对CC.NET有一些经验。
在构建过程中应该发生很多事情......实际上,构建已经被推送到三个不同的配置中,这些配置将在下一个配置之后运行。
我的主要问题是,在每一个中我实际上需要启动多个跑步者。例如,第一个构建步骤应包括:
当前版本的TeamCity只允许配置一个跑步者...这让我陷入了很多困境。
你会如何接近这个?我目前的想法是使用MsBuild运行器来完成所有事情并基本上启动我自己的基于MsBuild的脚本然后执行所有操作,就像TFS处理它的方式一样(和我用cc.net方式做的事情一样)用我自己的Nant构建脚本)。
关于另一个问题,问题是如何呈现统计信息,例如来自在不同阶段(构建配置)运行的单元测试。我们还有一些需要花费一些时间才能运行的东西,并且希望它能够在第二步或第三步中运行(最新的例如测试数据库生成代码,包括加载基础数据,运行大约需要15分钟以上)。 OTOH我们真的希望测试结果以某种方式得到巩固。
任何想法?
感谢。
答案 0 :(得分:4)
TeamCity 6.0允许单个构建配置的多个构建步骤。这不是你想要的吗?
答案 1 :(得分:1)
你需要编写这个,至少部分内容。 TeamCity为您的一些需求提供了一些很好的基于UI的配置,但不是全部。这是我的建议:
创建一个msbuild脚本来处理前两个要点,AssemblyInfo生成和编译。配置msbuild运行器以运行脚本并运行测试。将您的程序集收集为工件。
为FxCop创建第二个构建配置。从第一次构建触发它。在第一次构建时给它一个“神器依赖”,这就是它如何控制你的dll。
对于StyleCop,TC不支持开箱即用,就像FxCop一样。手动将其添加到您的msbuild脚本,并让它生成一个html报告(然后可以显示TeamCity)。
答案 2 :(得分:0)
您需要查看TeamCity中的 Dependencies 功能。此功能允许您创建一系列构建配置。换句话说,您需要为每个步骤创建构建配置,然后将它们作为依赖项链接。 要整合测试结果,请在工件依赖项中获取战利品。这可能有所帮助。