2

我正在尝试组建一个持续集成服务器,它将执行以下操作:

  1. 使用颠覆
  2. 使用 NUnit 测试(失败的测试失败)
  3. 使用 partcover(在 < X% 覆盖率上构建失败)
  4. 针对 FxCop 运行代码(根据 FxCop 警告构建失败,给定设置)
  5. 针对 StyleCop 运行代码(根据 StyleCop 警告构建失败,给定设置)

不那么重要:

  1. 能够从 sln 文件运行
  2. 能够发布应用程序(已为项目设置 ClickOnce)

我现在正在使用 TeamCity,它似乎没有做 3 或 5,而且它没有最新 NUnit 的跑步者。

从 hudson 拥有的插件列表来看,它似乎可以完成除 3 之外的所有这些(以及不那么重要的请求)。我考虑过为 hudons 编写一个插件来使用 partcover,但这增加了设置构建服务器的时间。

4

2 回答 2

2

NAnt 可以用作构建脚本,它将构建您的项目,然后执行 NUnit 和 FXCop。

我在工作中使用的另一个选项是为 MSBuild 创建一个构建脚本并使用支持运行 FXCop 和 NUnit 等的MSBuild 社区任务。

因此,对于我的设置,CCNet 从 SVN 中提取源代码,然后使用主构建文件调用 MSBuild。它在那里构建项目,运行 NUnit、NCover、FXCop、StyleCop 等,并合并结果,然后显示在 CCNet 网页上。还可以设置每个任务,因此如果出现故障,则构建失败。

我没有使用过 TeamCity,但应该有一种方法可以下载源代码,然后运行 ​​MSBuild 或 NAnt 构建脚本,然后处理构建步骤。

于 2010-03-23T20:27:31.683 回答
0

如果它从 sln 文件运行,它就不是一个持续集成服务器。也许您正在混合构建工具和持续集成。今天的许多 CI 服务器除了运行为其他工具(如 NAnt 或 Maven)制作的构建脚本之外什么都不做。如果您正在寻找它,请先查看 NAnt。NAnt 能够构建和执行其他工具,如 FXCop(使用 NAntContrib 库)。您使用 CI 服务器定期运行构建脚本。

于 2010-03-23T19:59:41.993 回答