您的位置:首页 > 产品设计 > UI/UE

Comparing TWO continuous build tools: Cruise Control and Hudson

2010-08-15 21:07 513 查看
Continuum, Cruise Control and Hudson are some of the famous
continuous integration tools which people are using nowadays. Cruise
Control is the pioneer one and people are using from a long period of
time. Continuum is from the Maven team and very high integration with
Maven 1 and 2. Hudson is the new one but it is more popular now.

In our department my PM asked me and to my friend, to do the Cruise Control + SVN +Maven
based continuous build mechanism. During this process I had gone
through some more R&D on the tools which are available for the
continuous build process. In that process I found some of the comments
about Hudson. Those were very interesting.. So I thought of comparing
this with our Cruise control.

Here in this post I am trying to compare Hudson and Cruise Control.
The basic TEN points or features listed below are taken from Hudson’s
official site and I am just trying to compare these all with the
capabilities of cruise Control. I had tried to add my own experience
with these. Correct me if there is any features that were wrongly
entered or any new features that you know about these.

Versions and platform
:

Hudson : 1.213

Cruise Control : 2.7.1

Plat form : Windows




Hudson





Cruise Control


1Open Source
1Open Source
2Easy installation
: Just java -jar Hudson.war, or deploy it in a servlet container. No additional install, no database.
2.
It also gives us very easy installation.
Just unzip the downloaded zip file. That’s it. It is actually using an
internal Jetty server. No Database, no install here also.
3Easy configuration
: Hudson can be
configured entirely from its friendly web GUI with extensive on-the-fly
error checks and inline help. There’s no need to tweak XML manually
anymore, although if you’d like to do so, you can do that, too.
3.
Big difference comes here. The GUI
providing by Cruise control for configuration is not at all good. It
just displays the config.xml file.


Its no way near to Hudson for Configuration GUI part. If you want to
configure Cruise Control then you must study about the structure of the
Config.xml first.
4Change set support
: Hudson can
generate a list of changes made into the build from CVS/Subversion. This
is also done in a fairly efficient fashion, to reduce the load of the
repository.
4.
Cruise control also show the list of files which are changes at this check-in process.
5Permanent links
: Hudson gives you
clean readable URLs for most of its pages, including some permanent
links link “latest build”/”latest successful build”, so that they can be
easily linked from elsewhere.
5.
Uhm… Cruise control is not giving this. It
gives a link with some log code number attached with it. Its looking
horrible and cant be easily likable.
6RSS/E-mail/IM Integration
: Monitor build results by RSS or e-mail to get real-time notifications on failures.
6.
It also gives RSS and email functionality.
Don’t know about IM support. If we need to change the Email structure
then either we have to change XSL or CSS file which we are using in the
email config.
7After-the-fact tagging
: Builds can be tagged long after builds are completed
7.
N.A.
8Detect new
failing tests while build
8Failing tests will show in the dashboard. But no separation between new and old.
9Notify when first test in build fails9No such type of notification.
10JUnit/TestNG test reporting
: JUnit
test reports can be tabulated, summarized, and displayed with history
information, such as when it started breaking, etc. History trend is
plotted into a graph.
10
It is showing all the unit test results but
not as good as Hudson does. There is no detailed information like when
it started breaking, History etc. and no graph for unit results too.
11Distributed builds
: Hudson can
distribute build/test loads to multiple computers. This lets you get the
most out of those idle workstations sitting beneath developers’ desks.
11.
The build distribution is done through the maven install goal. Its
12File fingerprinting
: Hudson can keep
track of which build produced which jars, and which build is using
which version of jars, and so on. This works even for jars that are
produced outside Hudson, and is ideal for projects to track dependency.
12.
No idea.
13Plugin Support
: Hudson can be extended via 3rd party plug-ins
. You can write plug-ins to make Hudson support tools/processes that your team uses.
13.
Plug-ins are there in Cruise control also.
14Dash board:
Hudson has an
attractive dashboard with Colorful as well as meaningful icons. We can
separate this building projects into subgroups also. It will also shows
building projects. Well designed Ajax pages.
14.
It gives an attractive Dash board. It
displays all the necessary information which we need to know. We can
directly build from there also. Viewing/ downloading the log file is
also allowed from this Interface.
15Local Copy of projects:
Handled by Hudson itself. No need to do by the user.
15.
Maintaining a local copy with the exact SVN
data makes us more uncomfortable. The user has to copy the Project into
the local folder with SVN data.
16Auto copy of SVN updates:
No need to provide any other code to copy the project from SVN to the local compiling folder.
16.
Its not copying the data from the SVN
directly. We need to write (In our case we wrote an ANT build file to
download the latest copy of Project from SVN) something separate.
17Running In background:
If the server where we deployed the war is running then its okay for Hudson.
17.
If we want to run it without console then we need to make it a separate ‘WINDOWS Service’ using any third party tool.
18We can deploy the war file in any of the server we wanted.18.
Jetty server is using internally.
19User authorization schemes. more configurable.19.
User authentication is there but no schemes at all.
20Very Active mailing list.20.
From a long period people are using this.
So it gives so many search results. But its mailing list is not that
much active when compared with Hudson.

Alternative building tools available

.

I got this list from ThoughtWorks
. HERE
we will get a good comparison of these all.

AnthillPro

Bamboo

Borland Gauntlet

CI Feature Matrix

Continuum

Hudson

Parabuild

Pulse

QuickBuild

Rubber Chicken Build

TeamCity

Luntbuild

Conclusion:

In my opinion Hudson much more better than Cruise Control. The time
we will take to start to use Cruise control will be high when we
compared with Hudson. The GUI which makes all the Configurations very
very easy. The Ajax support makes the configuration more “Error Free”.
Though Cruise control is using by a lot of people, when we looked into
the features, mailing list, the fastness and support from Developers I
think Hudson will be a good option.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐