我目前通过 subversion 进行版本控制.net/" rel="nofollow noreferrer">AhnkSVN 和 Visual Studio。 我最近开始使用 Tree Surgeon 来设置我的项目。 它使用 NAnt 自动创建构建脚本。 我希望能够在 SVN 中自动构建定期项目。 我喜欢在每次签入时进行构建的想法,但夜间构建也可以。 我会提供更多信息或更多我的想法,但我想我会保持开放状态,看看 SO 社区会说什么。
I currently use subversion for my version control via AhnkSVN and Visual Studio. I recently started using Tree Surgeon to set up my projects. It creates a build script automatically using NAnt. I would like to be able to automate builds regularly projects within SVN. I like the idea of doing a build on every check in but nightly builds would work as well. I would give more information or more of my thoughts but figured I would leave it open and see what the SO community has to say.
发布评论
评论(10)
您可能需要考虑 CI-Factory。 它是一个持续集成环境构建器,使用 CruiseControl.NET 和十几个其他工具。 这里有一个很棒的截屏视频:http://www.dnrtv.com/default.aspx?显示ID=64
You might want to consider CI-Factory. It's a continuous integration environment builder that uses CruiseControl.NET and a dozen other tools. There's an excellent screencast here: http://www.dnrtv.com/default.aspx?showID=64
我使用 FinalBuilder 已有几年了。 FinalBuilder 的优点在于它不仅仅可以进行构建。 我将其设置为对结果进行一些分析、对构建进行存档、发送错误日志等。最新版本有一个 Web 界面,允许非专家通过单击来启动构建。
I have been using FinalBuilder for a few years now. The advantage of FinalBuilder is that it does much more than just builds. I have it setup to do some analysis of the results, make archives of the builds, send out error logs etc. The latest version has a web interface that allows not experts to kick of builds with a click.
Cascade 支持对提交到存储库的每个更改进行构建。
Cascade supports doing a build on every single change committed to the repository.
我们将 CruiseControl.NET 与 NAnt 和 MsBuild 一起用于我们的构建服务器。 我们对其进行了配置,以便每次签入代码时都会进行构建,并且每晚都会进行构建。
We use CruiseControl.NET with both NAnt and MsBuild for our build server. We configured it so that it would have builds everytime we check code in, as well as nightly builds.
我非常喜欢 buildbot。 它是开源的,用Python编写,非常容易部署、开发和维护。 它可以轻松地与 svn 和大多数其他源代码控制系统集成。 您的所有构建脚本都是 Python 代码,因此您的核心 Build Master 脚本可以执行的操作具有很大的灵活性。 当然,您也可以使用它来触发任何其他类型的脚本或批处理文件。
您可以查看一些正在运行的 buildbot 示例:
I am very fond of buildbot. It is open source, written in python and very easy to deploy, develop and maintain. It integrates easily with svn and a majority of other source control systems. All of your build scripting is python code so you have a lot of flexibility in terms of what your core Build Master scripts can do. You can of course also use it to fire off any other type of script or batch file.
You might check out some examples of buildbot in action:
我建议 TeamCity。 :)
I suggest TeamCity. :)
还有 Draco.NET,它受到 CruiseControl.NET 的启发,并且更加轻量级。 有关这两种持续集成解决方案的更多信息,请参阅这篇文章。
There's also Draco.NET, which was inspired by CruiseControl.NET and is a little more lightweight. See this article for more information on both continuous integration solutions.
我认为 CruiseControl.NET 是您的最佳选择。 如果需要的话,可以很容易地使用自定义任务进行扩展,可以开箱即用地与 NAnt 和 MSBuild 一起使用,并且维护得非常积极。
CruiseControl.NET is your best option, in my opinion. It is fairly easy to extend with custom tasks if needed, works with both NAnt and MSBuild out of the box, and is very actively maintained.
正如其他人提到的,我们在这里使用 CCNET,我们通常不会在夜间构建,而是采用持续集成策略(每次签入)。
我建议您也这样做,无论是您自己还是在团队内,因为您可以非常轻松地设置单元测试以在每次签入、FXCop 测试以及许多其他产品上运行。
如果只有您在一个人团队中,并且您没有太多的项目,我还建议您查看 Team City 作为一个选项,因为它有免费版本,而且据报道报告和设置要简单得多(对我来说确实看起来不错)。
也就是说,我们从 CCNET 开始,并开发了几种太大的产品,无法在免费版本上查看 Team City,并且对我们拥有的产品非常满意。
有助于 CCNET 的功能包括:
但我肯定会在每次签入时运行 CI 构建 - 大多数情况下会在签入之前运行单元测试,但让 CCNET 服务器处理运行任何依赖于我们的程序集的应用程序/程序集重新签入,它们会被重新构建,并在每次签入时重新测试。
鉴于它是免费的并且只需很少的时间即可设置 - 我强烈建议您使用它。
As other's have mentioned we use CCNET here, which we don't usually work on a nightly build, but instead go with a Continuous Integration strategy (every check-in).
I would advise doing the same, whether it be by yourself or within a team, because you can very easily set up unit testing to run on every checkin as well, FXCop testing, and a slew of other products.
If it's just you in a one man team, and you don't have too many projects on the go, I would also advise checking out Team City as an option, because it has a free version, and the reporting and setup is reportedly much simpler (it does look nice to me).
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.
Features that help with CCNET include:
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.
Given it's free and takes very little time to set up - I'd highly recommend just going for it.
您可以使用 CruiseControl.Net,它可以每次签入、夜间构建或您想要的任何方式构建。 谷歌快速搜索表明 CC.Net 已经与 NAnt 集成。
You could use CruiseControl.Net, which can do a build on every check in, nightly builds, or however you want to do it. A quick google search suggests CC.Net has some integration with NAnt already.