0

我们正在尝试设置持续集成。我们的软件套件包含大约 20 个 C# 解决方案。对于某些项目,单元测试 (NUnit) 已经可用。我们希望自动化构建和测试过程,并尽早获取有关重大更改的信息。

最近,我尝试与 Hudson 一起这样做。有些问题可以通过网络进行密集搜索和一些试验和错误来解决。

现在一个错误阻止了我们前进:当然,我们的解决方案共享一些组件。当共享组件被更改时,我们不希望构建过程在第一次失败后停止——我们想知道所有被破坏的项目。Hudson 无法处理,在使用“参数化触发器插件 2.4 版”时也是如此(它应对第一个完美完成后启动下一个项目,并在构建失败后失败。然后,甚至没有发送电子邮件通知,并且之后,根本没有启动任何下游项目——即使上游项目成功!)。

到目前为止,与 Hudson 的经历相当令人失望,我们考虑采用不同的系统。

你能从你的积极经验中推荐一个持续集成工具,它可以:

  • 与 Subversion 集成(用于获取源代码和触发构建)
  • 启动 msbuild(例如 Windows 命令行)
  • 触发进一步的项目,无论上游项目是否失败(必须这样做!)
  • 构建失败时通过电子邮件通知
  • 使用 NUnit 开始单元测试(例如命令行)
  • 当单元测试失败时通过电子邮件通知
  • 与构建/测试环境中的其他计算机合作,在其他系统上部署/测试
  • 社区支持可用

更新:我试过詹金斯。无论上游项目是否失败,它都会触发进一步的构建。还没有测试最后两点。

4

1 回答 1

0

[免责声明:为 CI 工具制造商工作的人的回应]

Bernhard,您的要求(尤其是管理解决方案间的依赖关系)非常适合我公司的AnthillPro

  • 与 Subversion 集成(用于获取源代码和触发构建)
    • 是的。我们将使用轮询或 SVN 提交后触发器来检测源代码更改并立即触发构建。
  • 启动 msbuild(例如 Windows 命令行)
    • 我们有一个开箱即用的 MS Build 构建类型。
  • 触发进一步的项目,无论上游项目是否失败(必须这样做!)

    • AnthillPro 中的触发非常棒。它可以处理大型构建图,并行构建任何依赖组件,同时不进行不必要的构建。自 2001 年首次引入触发以来,我们一直在改进此功能。
  • 构建失败时通过电子邮件通知

    • 电子邮件和/或实例消息。
  • 使用 NUnit 开始单元测试(例如命令行)

    • 支持 NUnit 测试结果解析。
  • 当单元测试失败时通过电子邮件通知

    • 类似于构建失败的通知
  • 与构建/测试环境中的其他计算机合作,在其他系统上部署/测试

    • 完全支持通过环境部署构建。环境是 AnthillPro 中的第一个概念。
  • 社区支持可用

    • 这是可能的问题。我们的产品不是免费的。它是镀金的 CI/CD 工具。
于 2012-09-12T21:18:31.407 回答