Crazy Ivan

Crazy Ivan (CI) is simplest possible continuous integration tool.

Usage

Create a directory where your projects will live
  $ mkdir /var/continuous-integration

Place some project(s) in that directory
  $ cd /var/continuous-integration
  $ git clone git://github.com/edward/active_merchant.git

Set up continuous integration for each project
  $ crazy_ivan setup  # creates example ci scripts in 
                      # each project (see How this works)

  $ crazy_ivan setup  # creates the ci directory, and
                      # creates a configuration file,
                      # sets a cron job to run crazy_ivan

Manually run it once to check everything is ok
  $ cd /var/continuous-integration
  $ crazy_ivan /var/www/ci       # the test reports path should be
                                 # accessible via your web server

  $ open /var/www/ci/index.html  # or check it through your browser

Set a cron job to run it every 15 minutes
  $ echo "0,15,30,45 * * * * cd /var/continuous-integration; crazy_ivan /var/www/ci" > ci.cron
  $ crontab ci.cron

Note that you don

How this works

* crazy_ivan is executed periodically by cron
* crazy_ivan looks in directories one level deeper than where it

Copyright and Credits

Copyright © 2009 Edward Ocampo-Gooding. See LICENSE for details.

Heavily inspired/first code sketch written by Tobi Lütke.