.net CI 服务器的比较?

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/1438390/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me): StackOverFlow

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-09-03 13:20:31  来源:igfitidea点击:

Comparison of CI Servers?

.netcomparisoncontinuous-integration

提问by Johannes Rudolph

I am searching for a comparison of different continuous integration(CI) Servers (esp. focusing on .NET) and couldn't find any.

我正在寻找不同 持续集成(CI) 服务器(尤其是 .NET)的比较,但没有找到。

Therefore I'd like to know what you think about the different solutions available, what are the pros and cons, what are the hosting requirements and why CI Server XY is the Server of your choice.

因此,我想知道您对可用的不同解决方案的看法,优缺点是什么,托管要求是什么以及为什么 CI Server XY 是您选择的服务器。

I am interested in your thoughts on (feel free to comment on others to):

我对你的想法感兴趣(随时评论他人):

Points of Interest are:

兴趣点是:

  • Configuration (easy, flexible)
  • Integration with SCM (esp. DSVC like git or hg)
  • Integration with build sytems (MSBuild, NAnt, Rake)
  • Integration with Testing Frameworks
  • Integration with Source Anaylsis (Simian, NDepend, FxCop, NCover etc.)
  • WebInterface/Dashboards
  • Infrastructure requirements
  • 配置(简单、灵活)
  • 与 SCM 集成(特别是 DSVC,如 git 或 hg)
  • 与构建系统(MSBuild、NAnt、Rake)集成
  • 与测试框架集成
  • 与源分析集成(Simian、NDepend、FxCop、NCover 等)
  • 网络界面/仪表板
  • 基础设施要求

采纳答案by Jeffrey Fredrick

No question like this is complete without a link to the big CI Feature Matrix(Web Archive)which lists just about every CI option out there.

如果没有指向大型CI 功能矩阵(Web 档案)的链接,其中列出了几乎所有的 CI 选项,这样的问题是不完整的。

But I think it is important to look ahead to the scope of what you want to include in your CI system. Is it going to be just builds or are you going to be bringing in other elements like static analysis, cross-project dependencies, deployments, functional tests, etc. To help with that planning I created this wallchart on the Elements of Enterprise CI(PDF; no registration required). Please don't let the "E-word" put you off; I just mean stuff beyond the basic fast feedback CI build. :)

但我认为重要的是要提前考虑要包含在 CI 系统中的内容的范围。是只是构建,还是你要引入其他元素,如静态分析、跨项目依赖、部署、功能测试等。为了帮助制定计划,我在企业 CI元素(PDF ;无需注册)。请不要让“电子字”让你失望;我只是指基本快速反馈 CI 构建之外的东西。:)

It isn't tool specific but lists a variety of practices you might consider while you're in the planning/evaluation stages.

它不是特定于工具的,而是列出了您在计划/评估阶段可能会考虑的各种实践。

回答by Pascal Thivent

回答by Daniel Elliott

TeamCityhas a wonderful feature of allowing the developer to perform a personal build before committing. Very useful!

TeamCity有一个很棒的功能,它允许开发人员在提交之前执行个人构建。很有用!

CruiseControl.NETis the granddaddy of the bunch and is hence a little dated visually etc. As it has been around for a while, Google knows how to fix many issues you will come up against.

CruiseControl.NET是同类产品中的佼佼者,因此在视觉上有点过时等。因为它已经存在一段时间了,Google 知道如何解决您会遇到的许多问题。

For these reasons (amongst others), I use CruiseControl.NET at work and TeamCity at home and in my open source life :)

由于这些原因(除其他外),我在工作中使用 CruiseControl.NET,在家里和我的开源生活中使用 TeamCity :)

回答by Scott Marlowe

I'm a CruiseControl.NET user all the way. My teams uses it at work and I use it at home for personal projects.

我一直是 CruiseControl.NET 用户。我的团队在工作中使用它,我在家中将它用于个人项目。

In particular, CruiseControl.NET allows me to run through the whole CI process: builds, version update, unit and integration tests, archival of source or release candidate, code coverage, even deployment to our test system at work. It's highly customizable, works well with MSBuild and NAnt, and even had an extensible plug-in architecture.

特别是,CruiseControl.NET 允许我运行整个 CI 过程:构建、版本更新、单元和集成测试、源或发布候选的存档、代码覆盖率,甚至部署到我们工作中的测试系统。它是高度可定制的,可以很好地与 MSBuild 和 NAnt 配合使用,甚至还有一个可扩展的插件架构。

It pretty much does everything I need.

它几乎可以完成我需要的一切。

The biggest disadvantage: configuration is sometimes a pain, and can take time. But once it's done, it's done, and as another poster said, I love seeing the "successful build" signal because I know that not only did the build itself work, but that also that my unit and integration tests all ran successfully.

最大的缺点:配置有时很痛苦,而且需要时间。但是一旦完成,它就完成了,正如另一位海报所说,我喜欢看到“成功构建”的信号,因为我知道不仅构建本身有效,而且我的单元和集成测试都成功运行。

回答by The Matt

Team Foundation Buildis an option as well as it interacts very well with Team Foundation Server. It's free as long as long you've licensed TFS.

Team Foundation Build是一个选项,它与 Team Foundation Server 的交互非常好。只要您获得 TFS 许可,它就是免费的。

回答by TrueWill

We switched from CruiseControl.NET to TeamCity primarily because of ease of configuration. TeamCity also has more features, but the main reason was that a nice Web UI is simpler to use than XML configuration files.

我们从 CruiseControl.NET 切换到 TeamCity 主要是因为易于配置。TeamCity 还具有更多功能,但主要原因是漂亮的 Web UI 比 XML 配置文件更易于使用。

EDIT: Most tasks TeamCity will do out of the box; when necessary we use NAnt.

编辑:TeamCity 将立即执行的大多数任务;必要时我们使用 NAnt。

回答by Pete OHanlon

CruiseControl.NET - it can be a bit of a pain to set up (as can most CI systems), but it is worth perservering with. I currently have it set up to run unit tests on completion of builds, and to produce Wix installers on-demand. As Dan said, it looks a bit dated, but that doesn't matter, as it provides you with plenty of information that's easy to get at and easy to read.

CruiseControl.NET - 设置起来可能有点麻烦(大多数 CI 系统也是如此),但值得坚持使用。我目前已将其设置为在构建完成时运行单元测试,并按需生成 Wix 安装程序。正如 Dan 所说,它看起来有点过时,但这并不重要,因为它为您提供了大量易于获取和阅读的信息。

One thing - make sure all your developers have CC Tray installed, running and pointing to their builds. It's a great feeling to get "Another successful build" in your notification tray.

一件事 - 确保您的所有开发人员都安装了 CC Tray,运行并指向他们的构建。在您的通知托盘中获得“另一个成功的构建”是一种很棒的感觉。

回答by Mnementh

We use Hudson at work. The main reason is, that it is very easy to setup. You can directly execute the war (it's a executable jar) or deploy it at any servlet-container. And you're ready to start. Also Hudson supports many tools and is extensible through it's plugin-system.

我们在工作中使用 Hudson。主要原因是,它很容易设置。您可以直接执行 war(它是一个可执行的 jar)或将其部署在任何 servlet 容器中。您已准备好开始。Hudson 还支持许多工具,并且可以通过它的插件系统进行扩展。

回答by Alon Amsalem

I've been working with CruiseControl.NET, TFS 2012 and TeamCity 7.x for several years and i believe TeamCity is the BEST due to it's ease of use, comfortable and informative UI and other cool features like build dependencies and many more. It just works, I love it.

我多年来一直在使用 CruiseControl.NET、TFS 2012 和 TeamCity 7.x,我相信 TeamCity 是最好的,因为它易于使用、舒适且信息丰富的 UI 以及其他很酷的功能,如构建依赖项等等。它只是有效,我喜欢它。

回答by Brett Rigby

I'm fairly new to the CI-scene and I've been concentrating my efforts on CruiseControl.NET, using NAnt and Ivy to build my .NET projects.

我对 CI 场景相当陌生,我一直将精力集中在 CruiseControl.NET 上,使用 NAnt 和 Ivy 构建我的 .NET 项目。

I've found that CruiseControl.NET is very adaptable to lots of other tools, such as NCover/NUnit/etc. They all plug into this and integrate the results for a combined build process.

我发现 CruiseControl.NET 非常适合许多其他工具,例如 NCover/NUnit/等。他们都插入其中并将结果集成到组合构建过程中。

I'll be looking into TeamCity in the near future for my own interest, but I think that CruiseControl does a good job, but only as good as your build-scripts! If these are pants, then your builds can only be expected to be that good.

为了我自己的兴趣,我将在不久的将来研究 TeamCity,但我认为 CruiseControl 做得很好,但与您的构建脚本一样好!如果这些是裤子,那么你的身材只能预期那么好。

But in summary, CruiseControl.NET is a good solution, but I'm yet to find out how good the competition is in comparison.

但总而言之,CruiseControl.NET 是一个很好的解决方案,但我还没有发现相比之下竞争对手有多好。