Cerberus is a Continuous Integration (CI) software. Cerberus could be
periodically run from scheduler and check if application tests are
broken. If it happens then Cerberus will send notification to
developers. Cerberus perfectly works both on Windows and *nix platforms.
For more CI theory read this document from Martin F.
ruby - 1.8.2 or higher
rake - 0.7 or higher
svn client - 1.2 or higher
What ‘Cerberus’ name means?
Quote from Wikipedia (http://en.wikipedia.org/wiki/Cerberus)
Cerberus or Kerberos (Kerberos, demon of the pit), was the hound of
Hades-a monstrous three-headed dog (sometimes said to have 50 or 100
heads) with a snake for a tail and innumerable snake heads on his back.
He guarded the gate to Hades (the Greek underworld) and ensured that the
dead could not leave and the living could not enter. His brother was
Orthrus. He is the offspring of Echidna and Typhon.
So Cerberus will guard your tests and not allow your project to go to
the world of dead.
To use Cerberus it is very easy. First install it. Easiest way to do it
through RubyGems package manager.
‘gem install cerberus’
or get Cerberus distribution package right from download page
then you need to add project that will be watched by Cerberus. Do it by
as second parameter you could pass URL to subversion repository or
directory with working SVN folder.
Go to ~./cerberus and edit config.yml file (only once after installing
Cerberus). Enter your configuration options here like email server,
password, user_name and other options. See ActiveMailer description -
Cerberus uses it as notification layer. My config file looks like this
Also check ~/.cerberus/config/<APPLICATION_NAME>.yml and make sure that
you have right options.
And then run Cerberus
cerberus build APPLICATION_NAME #Run project
It will check out latest sources and run tests for your application. If
tests are broken - recipients will receive notifications.
But of course better run Cerberus automatically from Cron. Run Cerberus
for project each 10 minutes would be ok.
Well, thats all. If you have any questions, proposals - just let me