CruiseControl [.Net] vs TeamCity for continuous in

2019-01-03 08:15发布

I would like to ask you which automated build environment you consider better, based on practical experience. I'm planning to do some .Net and some Java development, so I would like to have a tool that supports both these platforms.

I've been reading around and found out about CruiseControl.NET, used on stackoverflow development, and TeamCity with its support for build agents on different OS-platforms and based on different programming languages. So, if you have some practical experience on both of those, which one do you prefer and why?

Currently, I'm mostly interested in the ease of use and management of the tool, much less in the fact that CC is open source, and TC is a subject to licensing at some point when you have much projects to run (because, I need it for a small amount of projects).

Also, if there is some other tool that meets the above-mentioned and you believe it's worth a recommendation - feel free to include it in the discussion.

11条回答
Fickle 薄情
2楼-- · 2019-01-03 08:33

Without wanting to throw alternative tools at you :-)

Hudson is a great open source alternative, I have used CC and CC.net, and I confess i do think they are fantastic tools. I am pondering switching to hudson as it apears a lot easier to setup and maintain.

https://hudson.dev.java.net/

查看更多
Anthone
3楼-- · 2019-01-03 08:33

I have recently setup cc .net. It is a great application but does require a bit of patience. You will be editing config files in notepad alot :)

It has been around a while so its well supported and you can normally find someone who has done what you wantto do before. The web interface is .net as well which was a plus for us as we are a Microsoft shop.

I havent used TeamCity but I have heard quite a few recommendations of it and it looks pretty.

查看更多
乱世女痞
4楼-- · 2019-01-03 08:34

I had an experience setting up and running CruiseControl (Java version) on Linux during my previous company. Like most people suggest, it is not the most trivial thing to setup. You need to understand its framework in order to come up with the workable/managable config. However, once you passed that hump, I feel that CruiseControl is pretty flexible enough to allow you to do different sort of things to fit different scenarios.

Besides, CruiseControl documentation, its wiki page also has some useful information as well.

I do not have a direct experience with TeamCity. Though its pre-test commit feature looks interesting enough.

The other CC tool that you might give it a look is Bamboo from Atlassian. It is a lot more easier to setup and the interface is nicer. Though, it is not as flexible as what CruiseControl offers.

查看更多
姐就是有狂的资本
5楼-- · 2019-01-03 08:34

A third option you might want to consider: Thoughtworks' Cruise. It's built on CruiseControl, but offers a lot more features, easier setup, etc, etc. Not free (or open source).

http://studios.thoughtworks.com/cruise-continuous-integration

查看更多
成全新的幸福
6楼-- · 2019-01-03 08:35

I have been using Teamcity for the last 1 and a half years, and having a great experience. I have integrated a number of .Net and Java projects and used tools like MSBuild, Maven etc. I found Teamcity pretty simple to set up and work with. I have managed to get CI running for some sql projects as well which was a bit of nightmare which could have been worse with other CI tools.
Recently upgraded to Teamcity 8.0.6 which was painless. Also Teamcity provides a REST API which is very useful for some scenarios. If you are using powershell for automating builds a number of Psake/Teamcity integration scripts are available on GitHub

查看更多
地球回转人心会变
7楼-- · 2019-01-03 08:36

I have worked on and with Continuous Integration tools since the one that spawned Cruise Control (java version). I've tried almost all of them at some point. I've never been happier than I am with TeamCity. It is very simple to set up and still provides a great deal of power. The build statistics page that shows build times, unit test count, pass rate etc. is very nice. TeamCity's project home page is also very valuable. For simple .NET projects you can just tell TeamCity where the solution is and what assemblies have tests and that is all it needs (other than source control location). We have also used some complicated MSBuild scripts with it and done build chaining. I have also gone through two TeamCity upgrades and they were painless.

CruiseControl.NET also works well. It is trickier to set up but it has a longer history so it is easy to find solutions on the web. Since CruiseControl.NET is open source you also have the option of adding or changing whatever you like. I had used CruiseControl.NET since its release and wrote some of the early code for cc.tray (thankfully re-written by someone who knew better).

Cruise, from ThoughtWorks, also looks quite good but I don't see a compelling reason for me to switch. If I were starting a new project I might give it a try, but TeamCity has done a great job of making the simple things simple while making the complex quite painless.

Edit: We just upgraded to TeamCity 5.0 a few weeks ago and it was another painless upgrade. It let us take advantage of the improved code coverage capabilities and GIT support. We are also now using the personal build and pre-tested commit features that have been in for a while. I just thought I should update the answer to indicate that TeamCity keeps improving and is still easy to use.

查看更多
登录 后发表回答