Hello world!

Post thumbnail

Continuous Integration Wikipedia defines it as a software engineering process that completely rebuilds and tests an application frequently. Although the underlying concepts existed earlier, "continuous integration" typically refers to the extreme programming practice. I got to know about it as my client insisted that we use it in our current project. So I was asked to explore it and understand it and then implement it. I just completed the implementation. And hence CI as it is known becomes my first technical document. YAY! (I didn’t expect to have an article in this section so soon!) In a nutshell, There is a server process that monitors the version control system for any changes in the source code that is checked in. If there is a change than it triggers the build process and executes unit test cases if specified. Simple so far right? Ok, Now the advantages… 1) We all know that finding a problem as early as possible directly reduces the cost of fixing it. 2) Broken code / incompatible code is detected as soon as it is checked in 3) Immediate unit testing of all changes 4) The details of the current build is available to all the concerned people 5) The immediate impact of checking-in incomplete or broken code acts as an incentive to developers to learn to work more incrementally with shorter feedback cycles. If you googled “continuous integration” you will come across an article by on Martin Fowler which I would recommend you to read. I will not be spending a lot of time with CI, what this article will help you do is do a quick install of CruiseControl.NET on a XP box with .Net Framework 1.1 and VSS as your version control. CruiseControl.NET is an Automated Continuous Integration server, implemented using the Microsoft .NET Framework. CruiseControl.NET (CCNet) consists of a suite of applications, but at its core is the CruiseControl.NET Server which is an automated integration server. The server automates the process of integration by polling the source code repository (VSS in my case). When it detects any changes it triggers the build process, (NAnt in my case). Once the build is complete it publishes the result of whether the code checked in integrated successfully or not. It suite also has a client application CCTray that if installed can notify all the team members of the build status. There is also an emailing function that will generate emails to alert the groups/ users of the build status. Also if the NUnit test cases are configured than they will be executed. Effectively, integration becomes as easy as checking in code. Using an automated integration server not only makes integration easy, it also guarantees that an integration build will happen. There is no danger of developers forgetting to validate their changes after checking in. The CCNet Server offers several key features: Integration with a variety of Source Control systems Integration with other external tools, such as NAnt and Visual Studio Can build multiple projects on one server Remote management and reporting The core settings are configured in the ‘ccnet.config’ file located in the server folder of your CruiseControl.NET installation. Here is a typical configuration C:\Program Files\Microsoft Visual Studio\VSS\win32\SS.EXE $/Project/ C:\Program Files\Microsoft Visual Studio\VSS\ C:\Project\ false C:\nant-0.85\bin\NAnt.exe C:\Project2 default.build build 3000 .websitelog Hope this helps. So once this is done, start the CruiseControl.NET server. Check out some code from the VSS, modify it and check it in. After a while the automated integration process should kick in if all is configured well. The dashboard would show the result of the build. Typically http://localhost/ccnet If you have installed the CCTray then a little balloon would pop up in your task bar informing you the status. Enjoy! PS: Links, References http://confluence.public.thoughtworks.org/display/CCNET/Welcome+to+CruiseControl.NET


What's new on iRohit.com

Post thumbnail

  • 10th January 2012, iRohit.com gets a majot facelist, with HTML5
  • 15th October 2008, My first facebook app... give it a try :)
  • 28th February 2008, Added Imageflowbeta!, a photo-gallery with coverflow like feel
  • 9th October 2007, Added In Focus, which celebrates the world of images captured by people all over this planet, and maybe someday beyond
  • 20th August 2007, Added Beginning with Quality Assurance under Technical section
  • 16 August 2007, Try out Yahoo! pipes here, and read about it here
  • 19th June 2007, Added Photo section
  • 5th May 2007, Added my first techincal article, Continuous Integration
  • 2nd April 2007, iRohit.com launched as beta