visual-studio 用于自动夜间构建的工具是什么?

声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow 原文地址: http://stackoverflow.com/questions/37666/
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-13 16:25:29  来源:igfitidea点击:

What tool to use for automatic nightly builds?

visual-studiobuild-process

提问by Alfred B. Thordarson

I have a few Visual Studio Solutions/Projects that are being worked on in my company, which now require a scheme for automatic nightly builds. Such a scheme needs to be able to check the latest versions from SVN, build the solutions, create the appropriate downloadable files (including installers, documentation, etc.), send e-mails to the developers upon errors and all sorts of other nifty things. What tool, or tool-set, should I use for this?

我的公司有几个 Visual Studio 解决方案/项目正在开发中,现在需要一个自动夜间构建的方案。这样的方案需要能够检查 SVN 的最新版本、构建解决方案、创建适当的可下载文件(包括安装程序、文档等)、在出现错误时向开发人员发送电子邮件以及各种其他漂亮的事情. 我应该为此使用什么工具或工具集?

I used to use FinalBuilder a few years ago and I liked that a lot but I'm not sure if they support such features as nightly-builds and email messages.

几年前我曾经使用过 FinalBuilder,我很喜欢它,但我不确定它们是否支持夜间构建和电子邮件消息等功能。

采纳答案by crucible

At my work we use CCNET, but with builds on check-in more than nightly - although it's easily configured for either or both.

在我的工作中,我们使用 CCNET,但比每晚都建立在签入的基础上——尽管它很容易为其中一个或两个配置。

You can very easily set up unit testing to run on every checkin as well, FXCop testing, and a slew of other products.

您也可以非常轻松地设置单元测试以在每次签入、FXCop 测试和大量其他产品上运行。

I would also advise checking out Team Cityas an option, because it has a free version, and the reporting and setup is reportedly much simpler (it does look nice to me). It does have a limit of somewhere around 20 team members/projects, before it hits a pay-for window.

我还建议将Team City作为一种选择,因为它有一个免费版本,而且报告和设置据说要简单得多(对我来说确实很好看)。在达到付费窗口之前,它确实有大约 20 个团队成员/项目的限制。

That said, we started with CCNET, and have grown several products too large to look at Team City on the free version and are very happy with what we have.

也就是说,我们从 CCNET 开始,并且已经开发了几个产品太大而无法查看免费版本的 Team City,并且对我们拥有的产品感到非常满意。

Features that help with CCNET include:

有助于 CCNET 的功能包括:

  • XML based configuration - you can usually copy and paste most of what you need.
  • More or less you'll be able to plug your treesurgeon script in as your build script, and point CCNET at that as an executable task to run the compilation.
  • Lots of documentation and very easy to set up nunit, ncover, fxcop, etc.
  • Taskbar app that will let you know the status of your projects at any time, and it can also fire off an email or keep an RSS feed with the same information.
  • 基于 XML 的配置 - 您通常可以复制和粘贴大部分您需要的内容。
  • 或多或少,您将能够将您的 treeurgeon 脚本作为构建脚本插入,并将 CCNET 指向该脚本作为运行编译的可执行任务。
  • 大量文档并且非常容易设置 nunit、ncover、fxcop 等。
  • 任务栏应用程序可以让您随时了解项目的状态,它还可以发送电子邮件或保留具有相同信息的 RSS 提要。

But I'd definitely go with running a CI build on every check-in - for the most part will run the unit tests before checking in, but let the CCNET server handle run any applications/assemblies that would have dependencies on the assembly we're checking in, and they get re-built, and re-tested on every checkin.

但我肯定会在每次签入时运行 CI 构建 - 大多数情况下会在签入之前运行单元测试,但让 CCNET 服务器处理运行任何依赖于我们的程序集的应用程序/程序集。重新签入,它们会重新构建,并在每次签入时重新测试。

Given that CCNET is free free and takes very little time to set up - I'd highly recommend just going for it and seeing if it suits you, then expanding from there.

鉴于 CCNET 是免费的,而且设置时间很短——我强烈建议你去尝试一下,看看它是否适合你,然后从那里扩展。

(There's another thread here where I posted pretty much the same/with a few alterations - but some of the other comments may help too! Automated Builds)

(这里还有另一个线程,我在其中发布了几乎相同/有一些改动的帖子 - 但其他一些评论也可能有所帮助!自动构建

Edit to add: You can easily set up your own deployment scheme for CCNET, and there are a tonne of blog posts out there to assist, and email notifications can really be set up fairly granularly, either on all successes, all failures, when it changes from success to fail, etc. There's also built in RSS, and you could even set up your own notifiers for other systems.

编辑添加:您可以轻松地为 CCNET 设置自己的部署方案,并且有大量的博客文章可以提供帮助,并且电子邮件通知确实可以相当精细地设置,无论是在所有成功,所有失败时,当它从成功到失败的变化等等。还内置了 RSS,您甚至可以为其他系统设置自己的通知程序。

回答by Lars Truijens

FinalBuilder does support emailing and just executing FinalBuilder each night will give you nightly builds. You don't really need other software for that if you don't want to.

FinalBuilder 确实支持电子邮件,并且每晚只执行 FinalBuilder 就会为您提供夜间构建。如果你不想,你真的不需要其他软件。

You could also use CCNet to trigger a build when needed and have it execute FinalBuilder for the build. You can then decide if FinalBuilder or CCNet should email.

您还可以使用 CCNet 在需要时触发构建,并让它为构建执行 FinalBuilder。然后您可以决定是 FinalBuilder 还是 CCNet 发送电子邮件。

Finally FinalBuilder has a Server version which is sorta like CCNet in that it is a continues integration tool using FinalBuilder. See http://www.finalbuilder.com/finalbuilder-server.aspx

最后,FinalBuilder 有一个服务器版本,它有点像 CCNet,因为它是一个使用 FinalBuilder 的持续集成工具。见http://www.finalbuilder.com/finalbuilder-server.aspx

Of course the biggest advantage of CCNet is that it is free and open source.

当然CCNet最大的优势就是免费开源。

回答by Kris Erickson

Although it costs, I highly recommend Visual Build. It works with MSBuild, and old tools like Visual Basic. It is scriptable, and can do everything from making installers to simple Continuous Integration.

虽然它很贵,但我强烈推荐Visual Build。它适用于 MSBuild 和 Visual Basic 等旧工具。它是可编写脚本的,可以完成从制作安装程序到简单的持续集成的所有工作。

回答by Julien Nephtali

We just started using Hudsonhere at the office.

Its free and open-source, it has a very user friendly UI. Plus there are tons of options and plugins available.

I was up and running in a matter of minutes after installing it. All the other devs here are loving it.

All in all, its a very elegant solution for Continuous Integration or Nightly Builds.

我们刚刚开始在办公室使用Hudson

它是免费和开源的,它有一个非常用户友好的用户界面。此外,还有大量可用的选项和插件。

安装后我在几分钟内就启动并运行了。这里的所有其他开发人员都喜欢它。

总而言之,它是一个非常优雅的持续集成或夜间构建解决方案。

回答by Adrien Haxaire

Buildbotis open source and very powerful too. You should take a look at it.

Buildbot是开源的,也非常强大。你应该看看它。

回答by Liedman

I've recently started using CruiseControl.NET (http://confluence.public.thoughtworks.org/display/CCNET/Welcome+to+CruiseControl.NET). It works reasonably well, although configuration could be easier. CruiseControl.NET is free and open source, and seems to integrate with most standard tools, although I've personally only used it with CVS, SVN, NUnit and MSBuild.

我最近开始使用 CruiseControl.NET ( http://confluence.public.thoughtworks.org/display/CCNET/Welcome+to+CruiseControl.NET)。它工作得相当好,虽然配置可能更容易。CruiseControl.NET 是免费和开源的,似乎与大多数标准工具集成,尽管我个人只将它与 CVS、SVN、NUnit 和 MSBuild 一起使用。

回答by Dusty Campbell

Luntbuild

伦特建筑

Supports a wide variety of source control and build systems. Very customizable. Open Source. Setup takes some time, but it's not too horrible.

支持各种源代码控制和构建系统。非常可定制。开源。设置需要一些时间,但这并不太可怕。

回答by Dusty Campbell

Cascadesupports doing a build on every single change committed to the repository.

Cascade支持对提交到存储库的每个更改进行构建。

I would not recommend doing only nightly builds -- that's a pretty long window where a build break can slip in before it's reported.

我不建议只做每晚构建——这是一个相当长的窗口,在报告之前构建中断可能会出现。