TFS 2008/2010 与 Jenkins 的持续集成对比
有人有使用 TFS 2008/2010 和 Jenkins 进行持续集成 (CI) 的具体经验吗?我们正在尝试决定使用哪个 CI 服务器。我们的团队专门使用 Microsoft .NET/Visual Studio 2010/C# 进行工作。我们有以下要求:
- 在每次签入时自动构建我们的 Web 项目。
- 对每个构建运行单元测试。
- 自动将绿色构建部署到开发和/或测试环境。
- 提供漂亮的报告。
- 通过电子邮件提供构建/部署通知。
我意识到安装工具并不一定能为我们提供开箱即用的功能,我们必须与 MSBuild 等其他工具集成才能实现此目的。
我正在寻找 Jenkins 具有而 TFS 2008/2010 没有的特定功能,反之亦然。也更容易维护、使用等。
Does anyone have specific experiences with using TFS 2008/2010 AND Jenkins for Continuous Integration (CI)? We are trying to decide which CI server to use. Our team works exclusively in Microsoft .NET/Visual Studio 2010/C#. We have the following requirements:
- Automatically build our web project on every checkin.
- Run unit tests with each build.
- Automatically deploy green builds to development and/or test environments.
- Provide pretty reports.
- Provide build/deployment notifications via email.
I realize that installing a tool won't necessarily give us this functionality out-of-the-box and that we will have to integrate with other tools like MSBuild to achieve this.
I'm looking for specific features that Jenkins has that TFS 2008/2010 does not or vice versa. Also which is easier to maintain, use, etc.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
发布评论
评论(3)
虽然玩这个游戏比较晚,但我已经使用了 TFS 2010 和 Jenkins 进行 CI。 TFS 2010 中包含最少的 CI 工具集。但是,当您想要创建 CI 管道时,情况就完全不同了,而 Jenkins 可以轻松创建管道。
如果您只考虑一个构建的 CI,则任一版本都应该有效。然而,当涉及到整个管道时,Jenkins 是不错的选择。使用 TFS 可以完成,但 Jenkins 是更好的选择。
以下是快速要点:
TFS:
使用构建定义,您可以编译、执行测试、返回变更集/工作项、在构建损坏时发送电子邮件
与 Visual Studio 自然集成
极难创建 CI 管道。需要自定义处理程序和大量工作流程工作。不像创建构建定义那么直观。
由于第 3 个项目符号,维护/自定义/扩展 CI 管道并不容易
Jenkins:
需要创建一个用于 CI 的 msbuild 配置文件,与使用 TFS 创建 CI 管道相比,这并不算太痛苦。然而,TFS 提供了更好/更简单的工具来创建构建定义。不过,为项目创建 msbuild 配置文件也不错。
创建 CI 管道非常简单。只需使用上游/下游 jenkins 作业触发器链接它们并传递先前作业中的工件即可。
由于 Jenkins 非常灵活,所以很容易创建一个 jenkins 插件来满足自己的需求并提供给开源社区:)
总之,如果您需要完整的自动化构建、测试和部署系统,请使用 Jenkins。如果您只需要构建和测试,TFS 可能比 Jenkins 更有优势。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
我强烈建议使用 Jenkins - 除了可能的#3 之外,它可以开箱即用地满足您的所有要求,但如果您可以编写部署脚本,那么它也可以做到这一点。
以下是一些可帮助您启动并运行构建的链接:
有关在 Jenkins 中进行 .NET 构建的博客
Jenkins Windows 安装程序
将 Jenkins 主服务器和从服务器安装为 Windows 服务
免责声明:我没有使用 TFS 的经验,但我认为开放解决方案几乎总是比专有产品更灵活和可扩展(而且更便宜!)。
I would highly recommend using Jenkins - it will do all of your requirements out of the box apart from possibly #3, but if you can script your deployments then it can do that as well.
Here are some links to help you get your builds up and running:
Blog about doing .NET builds in Jenkins
Jenkins Windows installers
Installing the Jenkins master and slaves as Windows services
Disclaimer: I have no experience with TFS, but I think open solutions are nearly always more flexible and extensible (and cheaper !) than proprietary products.