[ANN] CruiseControl.rb 1.0


#1

Hmmm. Another Continuous Integration tool? What is that, the millionth
one?

Yup, pretty much, but we’re taking a different approach than the others

  • in
    a way, back to the basics. Here’s our motto:

    Easy to install, pleasant to use and simple to hack

What kind of good stuff does that mean?

  • download and get building in 5-10 minutes (maybe 15 if you stop to
    read
    the manual)
  • little to no configuration (seriously, just tell it your Subversion
    URL)
  • works for Ruby, Java, .NET … anything that you can invoke from the
    command line
  • aesthetic beauty (not bad for a build tool)

Check it live out at http://cruisecontrolrb.thoughtworks.com/projects
and
then download and use it.
Feedback welcome - we’re working on release 1.1 now.

CC.rb team
ThoughtWorks

P.S. Announcing it here because build and deployment are so closely
related.


#2

On 3/13/07, Alexey V. removed_email_address@domain.invalid wrote:

Hmmm. Another Continuous Integration tool? What is that, the millionth
one?

No, not another one! :wink:

Yup, pretty much, but we’re taking a different approach than the others - in
a way, back to the basics. Here’s our motto:

 Easy to install, pleasant to use and simple to hack

Yup, I agree with that, already tested, its that easy!

(No, I’m not affiliated in any way with ThoughtWorks) :slight_smile:

What kind of good stuff does that mean?

  • download and get building in 5-10 minutes (maybe 15 if you stop to read
    the manual)
  • little to no configuration (seriously, just tell it your Subversion URL)
  • works for Ruby, Java, .NET … anything that you can invoke from the
    command line

It builds my FreeBASIC projects without tweaks, so it works.

  • aesthetic beauty (not bad for a build tool)

That is what I like about this! :slight_smile:

Check it live out at
http://cruisecontrolrb.thoughtworks.com/projects and then
download and use it.
Feedback welcome - we’re working on release 1.1 now.

There are plans to integrate remote builders? Drb maybe?

Will be good to cross-platform testing. (or that will require run two
dashboards?)

Thank you!


Luis L.
Multimedia systems

Leaders are made, they are not born. They are made by hard effort,
which is the price which all of us must pay to achieve any goal that
is worthwhile.
Vince Lombardi


#3

On 3/12/07, Luis L. removed_email_address@domain.invalid wrote:

There are plans to integrate remote builders? Drb maybe?

Remote parallel builds are going to be a part of Rails CI build once we
add
Linux and Windows boxes to it (those reading Rails-core may have noticed
some automated “BUILD FAILED” nagging this weekend, that’s us, playing
the
Build Monkey).

It shouldn’t need remoting or other cleverness though. Since a build is
just
a shell job, and all data is just log files in the file system, I’m
hoping
to get away with just SSH and Samba. Maybe, just SSH and a Capistrano
recipe
to copy the build artifacts to the Dashboard server. Neither solution
would
require changing CC.rb itself. We’ll see how it goes.

Alex Verkhovsky


#4

On 3/12/07, Alexey V. removed_email_address@domain.invalid wrote:

Hmmm. Another Continuous Integration tool? What is that, the millionth
one?

[snip]

It looks like CC.rb just polls svn every n seconds, is that true?
Does it also have support for using a post-commit hook? Though
considering how annoying the hooks are to setup, just polling might be
the better option…

  • Rob

#5

On 3/13/07, Alexey V. removed_email_address@domain.invalid wrote:

  1. Write a post_commit hook to “touch
    [cruise]/projects/your_project/build_requested”

To ask Subversion if there are any new revisions is a cheap operation.

Any plans to support other SCMs (In particular bazaar)?


#6

On 3/13/07, casret removed_email_address@domain.invalid wrote:

Any plans to support other SCMs (In particular bazaar)?

If there is a lot of demand for it, yes. At the moment, Subversion
accounts
for overwhelming majority of CC.rb 1.0 target audience (small to medium
teams on Rails projects, especially ThoughtWorks Ruby gigs). We will
probably limit the number of SCMs supported out of the box to something
small (two or three), to flesh out the API needs. Then we will make
version
control pluggable so that people can write their own extensions.

There is a rather strong design assumption in CC.rb that SCM knows how
to do
atomic commits, and that the build label is the same thing as revision
number. So, no CVS or VSS.

Best regards,
Alex


#7

On 3/13/07, Rob S. removed_email_address@domain.invalid wrote:

Does it also have support for using a post-commit hook?

It doesn’t but you can make it.

  1. Set project.scheduler.polling_interval = 9999.years (something so big
    that it never actually happens)
  2. Write a post_commit hook to “touch
    [cruise]/projects/your_project/build_requested”

To ask Subversion if there are any new revisions is a cheap operation.

Alex