The 7 levels of continuous integration

I’ve noticed that when other developers talk about “continuous integration” they do not always mean the same thing.
The following is an outline of the seven stages of continuous integration based solely on my own experience:

  1. No Server, no automation – no problems
  2. Have nightly build that run each day – at least we know that the project compiles
  3. Started writing “unit” tests – now running as part of the nightly build
  4. Created a build that runs on each commits – who broke the build?!
  5. Added static code analysis and style checking to the build
  6. Server Build, deploy & run the tests on several environments also used to deploy on testing (and production) environments
  7. Everything is automated – Even Gui tests runs automatically on the latest code, you even got as far as testing the installer. Code is analyzed and results are sent by email. Nothing is done manually unless it is done only once…

These are my stages as I experienced them in several jobs – what are yours?

Happy coding…

4 thoughts on “The 7 levels of continuous integration

  1. We have adopted Continuous Integration a year ago. Now we are at stage 5.
    We
    have full automatied builds (trunk for every commit, nightly,
    integration tests etc. ) , unit tests, database integration tests (
    dbunit ),  static analysis ( quite easy that part with Sonar ) and now
    we are trying to automate some gui tests using Selenium.
     You can add maybe between stage two and stage three the adoption of a developers guidelines as described in a related blog here
     

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s