TFS 2008/2010与Jenkins的持续集成

Dou*_*oug 12 tfs continuous-integration tfs2008 tfs2010 jenkins

有没有人有使用TFS 2008/2010和Jenkins进行持续集成(CI)的特定经验?我们正在尝试决定使用哪个CI服务器.我们的团队专门在Microsoft .NET/Visual Studio 2010/C#中工作.我们有以下要求:

  1. 每次签入时自动构建我们的Web项目.
  2. 每次构建运行单元测试.
  3. 自动将绿色构建部署到开发和/或测试环境.
  4. 提供漂亮的报告.
  5. 通过电子邮件提供构建/部署通知.

我意识到安装工具不一定能为我们提供开箱即用的功能,而且我们必须与MSBuild等其他工具集成才能实现这一目标.

我正在寻找Jenkins具有TFS 2008/2010不具备的特定功能,反之亦然.还有哪些更容易维护,使用等

gar*_*les 11

我强烈建议使用Jenkins - 除了可能的#3之外,它将完全满足您的所有要求,但如果您可以编写部署脚本,那么它也可以执行此操作.

以下是一些帮助您进行构建和运行的链接:

关于在Jenkins中进行.NET构建的博客

Jenkins Windows安装程序

将Jenkins主服务器和从服务器安装为Windows服务

免责声明:我与TFS没有经验,但我认为开放的解决方案几乎总是更加灵活和可扩展的比专有产品(和更便宜!).

  • 我过去曾经广泛使用过TFS,而且我现在正在为客户实施Jenkins,坦率地说,它在另一个中是6个,一个半打.TFS具有令人惊叹的VS IDE集成,在CodePlex上有大量的开源扩展,并使用Windows Workflow Foundation轻松扩展,而Jenkins有一个很好的开源插件集,一个庞大的用户社区,但如果你是一个.NET商店,并希望为Java编写一个插件,你需要在Java中编写它. (2认同)

小智 7

在这个游戏的后期,但我已经使用TFS 2010和Jenkins进行CI.TFS 2010中包含最少的CI工具集.但是,当您想要创建CI管道时,这是一个完全不同的故事,而Jenkins可以轻松创建管道.

如果您只查看一个构建的CI,则任何一个应该可以工作.然而,当谈到整个管道时,Jenkins还有很长的路要走.使用TFS可以完成,但Jenkins是更好的选择.

这是快速的要点:

TFS:

  • 使用构建定义,您可以编译,执行测试,返回变更集/工作项,在构建中断时发送电子邮件

  • 与视觉工作室自然融合

  • 极难创建CI管道.需要自定义处理程序和广泛的工作流程.不像创建构建定义那样直观.

  • 由于第3个子弹,维护/自定义/扩展CI管道并不容易

詹金斯:

  • 需要为CI创建msbuild配置文件,与使用TFS创建CI管道相比,这并不是很痛苦.但是,TFS提供了更好/更简单的工具来创建构建定义.但是,为项目创建msbuild的配置文件也不错.

  • 创建CI管道非常简单.只需使用上游/下游jenkins作业触发器链接它们并从先前作业传递工件.

  • 由于Jenkins非常灵活,因此很容易创建一个jenkins插件来满足您自己的需求并将其提供给开源社区:)

总之,如果您需要完整的自动构建,测试和部署系统,请使用Jenkins.如果你只需要构建和测试,TFS可能会让你优于Jenkins.