github
Advanced Search
  • Home
  • Pricing and Signup
  • Explore GitHub
  • Blog
  • Login

cpjolicoeur / cerberus

  • Admin
  • Watch Unwatch
  • Fork
  • Your Fork
  • Pull Request
  • Download Source
    • 50
    • 8
  • Source
  • Commits
  • Network (8)
  • Issues (0)
  • Downloads (3)
  • Wiki (8)
  • Graphs
  • Branch: master

click here to add a description

click here to add a homepage

  • Branches (1)
    • master ✓
  • Tags (3)
    • REL_0.7
    • REL-0.5
    • RC1-0.6
Sending Request…
Click here to lend your support to: cerberus and make a donation at www.pledgie.com ! Edit Pledgie Setup

Pledgie Donations

Once activated, we'll place the following badge in your repository's detail box:
Pledgie_example
This service is courtesy of Pledgie.

A lightweight, Continuous Integration tool written in Ruby — Read more

  cancel

http://cerberus.rubyforge.org

  cancel
  • Private
  • Read-Only
  • HTTP Read-Only

This URL has Read+Write access

Add options[:publisher, :extra_subject] 
ffmike (author)
Sat Jan 23 05:44:46 -0800 2010
cpjolicoeur (committer)
Mon Jan 25 07:52:06 -0800 2010
commit  c654aee0302e90cb0b75b299fcdb8eaefaaa1c98
tree    710ec0f1c55eb72953389fa5d51182f4ce3addaf
parent  96985557704817025edba6671626e99760c17253
cerberus /
name age
history
message
file .gitignore Mon Jul 06 18:57:03 -0700 2009 ignore custom CHANGES file [cpjolicoeur]
file Authors.txt Mon May 25 14:25:43 -0700 2009 update doc files [cpjolicoeur]
file Changelog.txt Mon Jan 25 07:52:06 -0800 2010 Add options[:publisher, :extra_subject] Useful... [ffmike]
file Copyright.txt Tue Aug 04 13:49:58 -0700 2009 update credits info [cpjolicoeur]
file Hacking.txt Tue Aug 04 15:45:04 -0700 2009 update docs [cpjolicoeur]
file License.txt Fri May 22 08:46:51 -0700 2009 update the doc files [cpjolicoeur]
file Rakefile Wed Aug 05 07:45:48 -0700 2009 update Rakefile [cpjolicoeur]
file Readme.markdown Tue Aug 04 15:38:32 -0700 2009 remove GMailer "support" * this is a duplicati... [cpjolicoeur]
file Todo.txt Mon Oct 26 06:04:45 -0700 2009 Merge branch 'master' of git@github.com:cpjolic... [cpjolicoeur]
directory bin/ Tue Aug 04 13:05:00 -0700 2009 put cerberus path at front of load path [cpjolicoeur]
directory doc/ Sat Dec 26 11:05:45 -0800 2009 typo in previous FAQ update [cpjolicoeur]
directory lib/ Mon Jan 25 07:52:06 -0800 2010 Add options[:publisher, :extra_subject] Useful... [ffmike]
directory test/ Mon Jan 25 07:52:06 -0800 2010 Add options[:publisher, :extra_subject] Useful... [ffmike]
Readme.markdown

Description

Cerberus is a Continuous Integration software written in Ruby. Cerberus can be periodically run from scheduler to check if application tests are broken. In the case of test failure, Cerberus will send notification alerts via various methods. Cerberus perfectly works both on Windows and *nix platforms.

For more CI theory, read this document from Martin Fowler.

Cerberus's website is at http://cerberus.rubyforge.org.


What does the 'Cerberus' name mean?

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, put simply, Cerberus will guard your tests and not allow your project to go to the world of dead.


There are several CI solutions already present, why do you need to use Cerberus?

Main advantages of Cerberus over other solutions include:

  1. Cerberus could be installed on any machine not only where the repository is located.
  2. Cerberus works not only for Rails projects, but for any other Ruby projects as well as for other platforms (Maven2 for Java)
  3. Cerberus multi-platform solution: it runs excellent both on *nix and Windows.
  4. Cerberus is distributed via RubyGems, making it very easy to install and very easy to update to the latest stable version
  5. Cerberus is very easy to start using. Just type 'cerberus add PROJECT_URL|PROJECT_DIR'
  6. Cerberus is a lightweight solution: a simple command line CI tool that only runs when the repository has changes

Requirements

  • ruby - 1.8.2 or higher
  • rake - 0.7.3 or higher (optional)
  • actionmailer - 1.3.3 or higher (optional)
  • activesupport - 1.4.2 or higher (optional)
  • gmailer - 0.1.7 or higher (optional)

Usage

Cerberus is installed like any other Ruby gem.

gem install cerberus

Alternatively, you can get Cerberus in gem, zip or tarball right from the RubyForge download page

Next, add a project that will be watched by Cerberus.

cerberus add _REPOSITORY_

The repository can be either a file path or URL. Additional parameters can be found in the wiki.

Next, go to ~/.cerberus and edit the config.yml file (only needed once after installing Cerberus). Enter your configuration options here like email server, password, user_name and other options. See ActionMailer description - Cerberus uses it as notification layer. An example config file looks like this:

publisher:
  mail:
    address: mail.someserver.com
    user_name: foobar
    password: foobaz
    domain: someserver.com
    authentication: login

Also check ~/.cerberus/config/<PROJECT_NAME>.yml and make sure that you have right settings specific to the project.

Next run Cerberus

cerberus build PROJECT_NAME    # Run project

or

cerberus buildall     # Run all available projects

Cerberus will check out the latest repository sources and run tests for your project. If tests fail, the notification alerts will be sent

You can also schedule Cerberus to run via CRON to automate the process.

Features

Cerberus currently supports the following SCM tools:

  • Subversion
  • Git
  • Darcs
  • Perforce
  • CVS
  • Bazaar

Cerberus currently supports the following notification systems:

  • Email
  • Jabber
  • IRC
  • RSS
  • Campfire
  • Twitter

Cerberus currently supports the following build systems:

  • Rake
  • Ruby script
  • RSpec
  • Rant
  • Maven2
  • Bjam

Documentation

For instructions, guides and documentation, please refer to the GitHub wiki.

Mailing List / Public Forums

http://groups.google.com/group/cerberusci

Issue Tracker

http://cpjolicoeur.lighthouseapp.com/projects/22299-cerberus

License

This plugin is licensed under the MIT license. Complete license text is included in the License.txt file.

Blog | Support | Training | Contact | API | Status | Twitter | Help | Security
© 2010 GitHub Inc. All rights reserved. | Terms of Service | Privacy Policy
Powered by the Dedicated Servers and
Cloud Computing of Rackspace Hosting®
Dedicated Server