Sunday, November 1, 2009

Continuous Integration

Did you ever have that problem where you're working on a project and you find a bug, but after you fix it you see something else you can add to it and then you go back and modify something else. By the time you integrate with your teammate you both have totally different works and integration seems to take longer than the actual production. This is were continuous integration comes in.

Continuous Integration
  • Definition: It is a software development practice where members of a team integrate their work frequently.
  • Verification: Each integration is verified by an automated build (including test) to detect integration errors as quickly as possible.
  • Results: Many teams find that this approach leads to significantly reduced integration problems and allows a team to develop cohesive software more rapidly.
(source)

I used Hudson to provide the continuous integration system. I have used Hudson before so I did not have much problems setting it up or using it. It is very simple to use and is a useful tool to have. I did had a build fail when I thought everything should have been fine. However with closer inspection I found that I ran ant verify on the wrong project folder. In Hudson you can see the console output and there I was able to see where in the build it failed. However, you should run verify before committing because you have more information about what is wrong (through the findbugs, pmd, checkstyle results). I think having a continuous integration system is very useful and a little time spent using it saves you a lot of time at the end.

0 comments:

Post a Comment