Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How does your continuous integration work?

I'm building a CI server and would really appreciate to get real experiences, and an overview on what are people using.

So, what are your build processes? Is there something like:

  • one hourly for code and tests,
  • another daily for build msi and code metrics,
  • etc.,

and also, what does your complete build process use? Do you use something like:

  • team city,
  • msbuild,
  • nunit - for tests,
  • ncover - for test coverage,
  • ndepend - for code metrics,
  • sandcastle - for documentation by the code comments,
  • testcomplete - for QA tests,
  • etc.?

Share! ;)

like image 927
caiokf Avatar asked Jul 20 '09 06:07

caiokf


People also ask

How do you do continuous integration?

5 Steps to Setup Continuous IntegrationGet a CI service to run those tests automatically on every push to the main repository. Make sure that your team integrates their changes everyday. Fix the build as soon as it's broken. Write tests for every new story that you implement.

How does CI server work?

What does a CI server do? A continuous integration server (sometimes known as a build server) essentially manages the shared repository and acts as a referee for the code coming in. When developers commit to the repository, the CI server initiates a build and documents the results of the build.

What is the purpose of continuous integration?

Continuous Integration enables better transparency and farsightedness in the process of software development and delivery. It not only benefits the developers but all the segments of that company. These benefits make sure that the organization can make better plans and execute them following the market strategy.


2 Answers

We had a similar conversation at the most recent CITCON North America (Continuous Integration and Testing conference) where we all shared our experiences and tried to put together a road map from simple CI to very built out CI and release systems.

The original conference notes are here. Along with a Flickr photostream. A cleaned up version is available at the urbancode blog as well.

The Aussies revisited the topic at CITCON Brisbane and a pencast of that is available

Hope some of those resources are useful.

like image 168
EricMinick Avatar answered Oct 05 '22 04:10

EricMinick


For Java, we have an instance of Hudson checking for commits in the SVN repository, for every commit there is a build in which everything is compiled and all the test units are run using Maven2. Also the Hudson is connected to an instance of Sonar which tell us stats about coding style and testing coverage.

Sonar screenshot http://nemo.sonarsource.org/charts/trends/60175?sids=1024412,1025601,1026859,1073764,1348107,2255284&metrics=complexity,mandatory%5Fviolations%5Fdensity,lines,coverage&format=png&ts=1244661473034

Sweet :)

like image 28
victor hugo Avatar answered Oct 05 '22 05:10

victor hugo