YOUR FEEDBACK
sahil wrote: How to use onmouseover on marker with c# code, by default when u click on marker...
AJAXWorld RIA Conference
October 20-22 San Jose, CA
Register Today and SAVE !..

2008 East
DIAMOND SPONSOR:
Data Direct
Frontiers in Data Access: The Coming Wave in Data Services
PLATINUM SPONSORS:
Red Hat
The Opening of Virtualization
Intel
Virtualization – Path to Predictive Enterprise
Green Hills
IT Security in a Hostile World
JBoss / freedom oss
Practical SOA Approach
GOLD SPONSORS:
Software AG
The Art & Science of SOA: How Governance Enables Adoption
PlateSpin
Effective Planning for Virtual Infrastructure Growth
Fujitsu
Automated Business Process Discovery & Virtualization Service
Ceedo
Workspace Virtualization
Click For 2007 West
Event Webcasts

2008 East
PLATINUM SPONSORS:
Appcelerator
Think Fast: Accelerate AJAX Development with Appcelerator
GOLD SPONSORS:
DreamFace Interactive
The Ultimate Framework for Creating Personalized Web 2.0 Mashups
ICEsoft
AJAX and Social Computing for the Enterprise
Kaazing
Enterprise Comet: Real–Time, Real–Time, or Real–Time Web 2.0?
Nexaweb
Now Playing: Desktop Apps in the Browser!
Sun
jMaki as an AJAX Mashup Framework
POWER PANELS:
The Business Value
of RIAs
What Lies Beyond AJAX?
KEYNOTES:
Douglas Crockford
Can We Fix the Web?
Anthony Franco
2008: The Year of the RIA
Click For 2007 Event Webcasts

SYS-CON.TV
TOP THREE LINKS YOU MUST CLICK ON


CruiseControl: The Complete Continuous Integration
CruiseControl: The Complete Continuous Integration

A continuous integration process involves automatic building and testing with tools like Ant and JUnit. These tools need a tool that will manage and control the build process - this is where Cruise Control comes in.

CruiseControl, an open source tool from SourceForge, is a framework for a continuous build process. It provides an easy-to-use tool that integrates Ant, JUnit, and others to provide a simple utility that builds and tests your software throughout the development cycle.

For a complete build process you might want to clean the build directory, fetch sources from the source configuration tool, compile sources, package applications, start the application server, deploy the packaged applications, perform tests, generate reports, and clean up. Simpler (intermediate) build processes can pass the clean task and part of the test tasks.

All of these tasks should be part of your Ant build configuration.

For an easy transition between different dev/test/prod environments it's helpful if you use different configuration settings for your application properties and application server settings and let Ant prepare these settings for you. For example, for the build.xml:

<filter token="server.domain"
value="${server.domain}"/>
<filter token="server.listen.port"
value="${server.listen.port}"/>
<filter token="server.name" value="${server.name}"/>

And for the config.xml:

<Domain Name="@server.domain@">
...
<Server ListenPort="@server.listen.port@"
Name="@server.name@">

where all server.* properties reside in different configuration files for use with any different environment (dev.properties, test.properties, etc.)

This will put you in a position where you could run continuous build process without human hands.

Now, let's see how CruiseControl helps us with these builds.

CruiseControl, release 2.0, is more flexible and open. Its building blocks are plug-ins (that you can always extend or replace). It is shipped with several plug-ins that, in most cases, will do the work without the need for an update. The provided plug-ins are grouped into five types:

  • Bootstrappers: Designed to be run before the build, regardless of whether a build is necessary. These trappers are used for updating the configuration files from the source configuration (like build.xml, which you'll use just as you start the build...).
  • SourceControl implementations: Poll a code repository and determine if anything has changed within your project that would require another build. These plug-ins can be configured not to fetch changes until X minutes have passed since the last source update (useful for large source updates).
  • Builders: Actually perform the building and testing of your code. These plug-ins are responsible for starting an Ant task based on your configuration of Ant. These tasks will run in a different process than the CruiseControl (eliminates memory problems and provides better control over the Ant usage).
  • LabelIncrementers: Handle incrementing the label for you to use to tag your source, as part of the continuous process.
  • Publishers: Publish the results of your build. Plug-ins such as HTML-based e-mail, link-ref e-mail, and plain HTML are possible output formats.

    CruiseControl generates a log file for each build process. This log file can be used to follow the build results as well as publish them using the publishers.

    CruiseControl comes with a prepared Web application that enables you to publish your build results on an intranet site. In order to install the Web application, you should follow the installation instructions and pay special attention to the replacement of the log path element in the web.xml file and the correct jsp version usage in the buildresults.jsp file.

    After you have configured the Web application, you can install it on your target intranet Web server. Make sure this server shares a file system with the process, so the CruiseControl process can update this Web application. The generated report can include information about:
    1.   List of changed sources and the check-in notes
    2.   Building blocks of the application (.jars, .ears, etc.)
    3.   JUnit reports (to integrate JUnit reports into the standard CruiseControl reports, use the Merge plug-in to append the JUnit log files to CruiseControl log file)

    The CruiseControl Web application simply takes the log file generated by the build process and transforms its format for a clean, hyper-text format.

    Example
    Listing 1 is an example of a CruiseControl configuration file that should satisfy most projects. Table 1 defines the main terminology in CruiseControl

    Resources

  • CruiseControl: http://cruisecontrol.sourceforge.net
  • Jakarta Ant: http://jakarta.apache.org/ant
  • JUnit: www.junit.org
  • Fowler, Martin. Continuous Integration. www.martinfowler.com/articles/ continuousIntegration.html
    About Ronen Lewit
    Ronen Lewit is an IT expert specializing in enterprise software development. He has an extensive knowledge of state-of-the-art technologies in the J2EE and RDBMS worlds. Ronen is a consultant to corporations on building robust and scalable infrastructures and applications.

  • YOUR FEEDBACK
    LeonardJ wrote: Makes the whole concept clearer
    BEA WEBLOGIC LATEST STORIES
    Since its emergence, Web Service technology has gone a long way towards perfecting itself and finding its right application in the real world. With the maturity of the specifications, Web Service technology, with its power of interoperability, is now the major enabling technology of SO...
    Join Scott Guthrie as he discusses Microsoft’s commitment to web standards development, Rich Internet Applications and how Microsoft is contributing to help move the web forward. Join Adobe’s Kevin Lynch as he demonstrates how Flash and HTML come together to make the most engaging,...
    Virtualization has become a critical part of Enterprise IT strategy. Why and how has it become one of the most important change agents in our industry? To answer these questions I had the good fortune recently to be able to speak to a select group of top IT industry executives who join...
    Watching VMware stock and its market cap spike since it IPO'd must have had Red Hat positively pea green with envyWatching VMware stock and its market cap spike since it IPO'd must have had Red Hat positively pea green with envy - so green in fact that it's gonna try taking VMware on b...
    A standard from OASIS called Web Services for Remote Portlets (WSRP) is used so portlets can be decoupled from a portal. In part one (JDJ, Volume. 13, issue 3) of this article, we introduced the relevant standards and specifications and then demonstrated WSRP's capabilities by consumin...
    SYS-CON's upcoming '3rd International Virtualization Conference & Expo' faculty includes such distinguished speakers as: Al Aghili (Managed Methods), Alan Chhabra (Egenera), Andi Mann (Enterprise Management Associates), Andrew Conte (APC), Andy Astor (EnterpriseDB), Ariel Cohen (Xsigo ...
    SUBSCRIBE TO THE WORLD'S MOST POWERFUL NEWSLETTERS
    SUBSCRIBE TO OUR RSS FEEDS & GET YOUR SYS-CON NEWS LIVE!
    Click to Add our RSS Feeds to the Service of Your Choice:
    Google Reader or Homepage Add to My Yahoo! Subscribe with Bloglines Subscribe in NewsGator Online
    myFeedster Add to My AOL Subscribe in Rojo Add 'Hugg' to Newsburst from CNET News.com Kinja Digest View Additional SYS-CON Feeds
    Publish Your Article! Please send it to editorial(at)sys-con.com!

    Advertise on this site! Contact advertising(at)sys-con.com! 201 802-3021

    SYS-CON FEATURED WHITEPAPERS

    ADS BY GOOGLE
    BREAKING NEWS FROM THE WIRES

    Sun Microsystems, Inc. (NASDAQ:JAVA) today announced the new Sun SPARC(R) Enterpris...