Recently I wrote an article for the german Javamagazin about JetBrains' leading Continuous Integration server TeamCity. It is the second article in the series after I wrote about IntelliJ IDEA 6 some months ago. The TeamCity article will be published soon.

I started with describing the needs for Continuous Integration. Based on a common build scenario which I used in production on CruiseControl I discussed the typical steps for setting up TeamCity and customizing it for processing the Ant scripts. Beside TeamCity 2.1 my scenario includes Subversion 1.4.2, Ant 1.7.0, JUnit 4.1, EMMA 2.0.5312 and IntelliJ IDEA 7M1. The last part is pretty interesting.

I used the TeamCity plugin for connecting IDEA with TeamCity. This way I can start new builds from out of the IDE or take responsibility for broken builds. A nice features is also the "remote run" functionality. You can put your local changes to TeamCity which includes them into the target build. TeamCity then builds the software -- a personal build just for you.

Optionally TeamCity can commit your local changes to the VCS after the successful build. Isn't this great? Your personal build has no impact on your desktop, and you can go home after triggering it. If the tests went through the artifacts will be commited automatically. If not .. you get a pointer next morning.

My Javamagazin article does include a full-fledged description of setting up the server, gives hints and an evaluation of TeamCity, the IDE integration and the build migration from CruiseControl to TeamCity.

No comments: