Posted By: Anatol Pomozov
Date: 2006-07-23 03:55
Summary: Cerberus 0.1.1
Project: Cerberus
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 Fowler
http://www.martinfowler.com/articles/continuousIntegration.html.
Requirements:
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 http://rubyforge.org/frs/?group_id=1794
then you need to add project that will be watched by Cerberus. Do it by
cerberus add (DIR|SVN_URL) APPLICATION_NAME=some_app RECIPIENTS=dev1@project.com,dev2@project.com
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
mail:
address: mail.somesever.com
user_name: anatol
password: anatol
domain: somesever.com
authentication: login
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
or
cerberus buildall #Run all available projects
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. |
|