2012-09-12 55 views
0

我们正在尝试建立持续集成。我们的软件套件由20个C#解决方案组成。对于一些项目,单元测试(NUnit)已经可用。我们希望自动化构建和测试流程,并尽早获取有关突破性变化的信息。持续集成工具的经验

最近,我试图用哈德森这样做。在通过网络进行大量搜索之后,可以解决一些问题,并进行一些试验和错误。

现在,一个错误使我们无法领先:当然,我们的解决方案共享一些组件。当共享组件发生变化时,我们不希望构建过程在第一次失败后停止 - 我们想知道所有被破坏的项目。这不能由Hudson处理,也可以在使用“参数化触发器插件版本2.4”(它首先完成完成后开始下一个项目,并在构建失败后失败,然后,即使电子邮件通知未发送,之后,根本没有下游项目开工 - 即使在成功的上游项目中也是如此!)。

由于哈德森迄今为止的经历相当令人失望,我们考虑采取不同的系统。

可以从您的积极经验推荐一个持续集成工具,它的作用:

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

更新: 我试过詹金斯。无论上游项目出现故障,它确实会触发进一步的构建。还没有测试过最后两点。

+0

我不知道如何有帮助这可能是,但最让我知道,做.NET的企业,使用[TeamCity的(http://www.jetbrains.com/teamcity/)为做CI。显然,您需要将其配置为适合您的需求,就像其他任何构建服务器一样。 – Augusto

回答

0

[免责声明:从别人谁响应的CI工具制造商工作]

伯恩哈德,你的要求(尤其是管理解决方案间depenedencies)是一个非常适合我公司的AnthillPro

  • 整合与Subversion(均用于获取源代码和 触发构建)
    • 是的。我们将使用轮询或SVN post-commit触发器来检测源代码更改并立即触发构建。
  • 开始的MSBuild(例如Windows命令行)
    • 我们有一个MS构建构建类型的开箱。
  • 触发进一步的项目,而不管故障的上游项目 (必须做!)

    • 触发在AnthillPro真棒。它可以处理大型构建图,并行构建任何相关组件,而不会执行不必​​要的构建。我们一直在提高这种能力,因为我们首先介绍了在2001年
  • 触发通过电子邮件通知,当构建失败

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

    • NUnit测试结果解析被支撑。
  • 通过电子邮件通知时,一个单元测试失败

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

    • 完全支持部署bu通过环境进行培训。环境是AnthillPro中的第一个概念。
  • 社会支持是

    • 这里的可能问题。我们的产品不是免费的。这是镀金的CI/CD工具。
+0

感谢您的建议,Eric。除了投资一段时间,我没有CI的预算...... –

+0

我认为可能是这样,因此警告。总是微妙的说,“检查我的工具”时,它可能是适当的,而不是一个垃圾邮件的混蛋。 – EricMinick