我们正在尝试设置持续集成。我们的软件套件包含大约 20 个 C# 解决方案。对于某些项目,单元测试 (NUnit) 已经可用。我们希望自动化构建和测试过程,并尽早获取有关重大更改的信息。
最近,我尝试与 Hudson 一起这样做。有些问题可以通过网络进行密集搜索和一些试验和错误来解决。
现在一个错误阻止了我们前进:当然,我们的解决方案共享一些组件。当共享组件被更改时,我们不希望构建过程在第一次失败后停止——我们想知道所有被破坏的项目。Hudson 无法处理,在使用“参数化触发器插件 2.4 版”时也是如此(它应对第一个完美完成后启动下一个项目,并在构建失败后失败。然后,甚至没有发送电子邮件通知,并且之后,根本没有启动任何下游项目——即使上游项目成功!)。
到目前为止,与 Hudson 的经历相当令人失望,我们考虑采用不同的系统。
你能从你的积极经验中推荐一个持续集成工具,它可以:
- 与 Subversion 集成(用于获取源代码和触发构建)
- 启动 msbuild(例如 Windows 命令行)
- 触发进一步的项目,无论上游项目是否失败(必须这样做!)
- 构建失败时通过电子邮件通知
- 使用 NUnit 开始单元测试(例如命令行)
- 当单元测试失败时通过电子邮件通知
- 与构建/测试环境中的其他计算机合作,在其他系统上部署/测试
- 社区支持可用
更新:我试过詹金斯。无论上游项目是否失败,它都会触发进一步的构建。还没有测试最后两点。