[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.ruby

[ANN] Great step for Ruby CI. Cerberus 0.3.0 released.

Anatol Pomozov

10/24/2006 8:43:00 AM

Hi, ruby lovers.

I am glad to announce 0.3.0 release of Cerberus CI tool. This release is
claimed to be greatest step in Cerberus development.

Release 0.3.0 brings new cool features that were requested by Cerberus
users.

== Highlight whats new in current release.
* Added support of Darcs VCS. Darcs is a modern distributed VCS and now
it is possible to use Darcs together with Cerberus.
To use it just add to configuration file following section
scm:
type: darcs
url: http://somerepourl

* Campfire is a team collaboration tool from 37Signals. As many rubyists
use it Cerberus team added publisher that allows sending Cerberus
notification right to Campfire rooms. To use it add to config

publisher:
campfire:
url: http://somelogin:password@domain.campfirenow.com/room/51660

It is great when you favorite tools are integrated together.

* Added changeset_url option. Trac is great tool and you could see
repository changes in your browser by url like this one
http://dev.rubyonrails.org/chan...
Cerberus team added support of this feature. Now all notifications
contain link to browsable changeset.
To activate it just add Trac url to your config by following option.
changeset_url: http://dev.rubyonrails.org/...

It is REALLY cool when you favorite tool are integrated to each other
:)

* Added possibility to specify user_name and password for Subversion.
If your subversion repository is restricted by login/password you
could specify them in configuration.
Just add them to 'scm' section of configuration file
scm:
url: svn+ssh://somerepourl/trunk
user_name: svnurl
password: svn passsword


== What is Cerberus?
Cerberus is a Continuous Builder software. Cerberus could be
periodically run from any scheduler and check if application tests were
broken. If it happened then Cerberus would send notification to
developers.

== There are several CI solutions already present, why do you need to
use Cerberus?
Main advantages of Cerberus over other solutions are:
1) Cerberus could be run on any machine not only where SVN repository
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 is a multiplatform solution: it runs excellent both on *nix
and Windows.
4) Cerberus distributed via RubyGems, so it is very easy to install and
very easy to update to the latest stable version. Just do 'gem install
cerberus'
5) Cerberus very easy to start using. Just type 'cerberus add
PROJECT_URL|PROJECT_DIR'
6) Cerberus is lightweight solution: most of the time ruby process even
not runs - Rake run only in case if changes in project sources were
find.

To use Cerberus it is very easy. First install it. Easiest way to do it
with RubyGems package manager.

'gem install cerberus'

or get Cerberus distribution package right from download page
http://rubyforge.org/frs/?group_id=1794&relea...

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

publisher:
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.

== License

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

== Author

This software was created by Anatol Pomozov <anatol.pomozov@gmail.com>
and is located at http://cerberus.rub....

--
Posted via http://www.ruby-....

3 Answers

zimba.tm@gmail.com

10/24/2006 11:13:00 AM

0

Hey, that's really cool. Now I have to make tests for my app to make
the use of this :p

Do you already have SVN hooks ? It might be pretty easy to make a
post-commit hook that runs cerberus.

-----
#!/bin/sh
cerberus build YOUR_PROJECT_NAME
-----

Put that in "your_svn/hooks/post-commit" file and cerberus will run on
each commit.

It could even be made generic if YOUR_PROJECT_NAME == your_svn_name.

--
Cheers,
zimbatm

http://zimba...

Anatol Pomozov

10/24/2006 11:26:00 AM

0

Jonas Pfenniger wrote:
> Hey, that's really cool. Now I have to make tests for my app to make
> the use of this :p

You should to add tests to your application even if you do not use
Cerberus. Cerberus just makes life of test-infected people easier.

> Do you already have SVN hooks ? It might be pretty easy to make a
> post-commit hook that runs cerberus.
>
> -----
> #!/bin/sh
> cerberus build YOUR_PROJECT_NAME
> -----
This question (and answer) presented on Cerberus FAQ section
http://cerberus.rubyforge.or...

I am looking for way to add post-commit hook for Darcs. Well, Darcs repo
is a just directory but I think that there is should be some solution.

--
Posted via http://www.ruby-....

zimba.tm@gmail.com

10/24/2006 12:40:00 PM

0

On 24/10/06, Anatol Pomozov <anatol.pomozov@gmail.com> wrote:
> Jonas Pfenniger wrote:
> > Hey, that's really cool. Now I have to make tests for my app to make
> > the use of this :p
>
> You should to add tests to your application even if you do not use
> Cerberus. Cerberus just makes life of test-infected people easier.

Sorry, it was some kind of humor. I NEED to start writing tests but
somehow I can't seem to get into it.

> > Do you already have SVN hooks ? It might be pretty easy to make a
> > post-commit hook that runs cerberus.
> >
> > -----
> > #!/bin/sh
> > cerberus build YOUR_PROJECT_NAME
> > -----
> This question (and answer) presented on Cerberus FAQ section
> http://cerberus.rubyforge.or...
>
> I am looking for way to add post-commit hook for Darcs. Well, Darcs repo
> is a just directory but I think that there is should be some solution.

Thanks, darcs hooks are under way. In the meanwhile, you could use
inotify (on linux) to watch for new patches in _darcs/patches.

--
Cheers,
zimbatm

http://zimba...