# \[ANN\] CruiseControl.rb 1.0

**URL:** <https://www.ruby-forum.com/t/ann-cruisecontrol-rb-1-0/88626>\
**Category:** Deployment\
**Created:** [March 13, 2007, 5:34am UTC](https://www.ruby-forum.com/t/ann-cruisecontrol-rb-1-0/88626 "2007-03-13T05:34:11Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![alexeyv](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/46a35a/32.png) [@alexeyv](https://www.ruby-forum.com/u/alexeyv)\
**Post date:** [March 13, 2007, 5:34am UTC](https://www.ruby-forum.com/t/ann-cruisecontrol-rb-1-0/88626/1 "2007-03-13T05:34:11Z")

</div>

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:

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](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.

---

<div class="post-metadata">

**Author:** ![alexeyv](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/46a35a/32.png) [@alexeyv](https://www.ruby-forum.com/u/alexeyv)\
**Post date:** [March 13, 2007, 6:21am UTC](https://www.ruby-forum.com/t/ann-cruisecontrol-rb-1-0/88626/2 "2007-03-13T06:21:14Z")

</div>

On 3/13/07, Alexey V. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid) wrote:

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

No, not another 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
> 
> ```

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

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

> 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! 🙂

> Check it live out at  
> [http://cruisecontrolrb.thoughtworks.com/projects](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

---

<div class="post-metadata">

**Author:** ![alexeyv](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/46a35a/32.png) [@alexeyv](https://www.ruby-forum.com/u/alexeyv)\
**Post date:** [March 13, 2007, 5:47pm UTC](https://www.ruby-forum.com/t/ann-cruisecontrol-rb-1-0/88626/3 "2007-03-13T17:47:57Z")

</div>

On 3/12/07, Luis L. [removed\_email\_address@domain.invalid](mailto: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

---

<div class="post-metadata">

**Author:** ![alexeyv](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/46a35a/32.png) [@alexeyv](https://www.ruby-forum.com/u/alexeyv)\
**Post date:** [March 13, 2007, 5:32pm UTC](https://www.ruby-forum.com/t/ann-cruisecontrol-rb-1-0/88626/4 "2007-03-13T17:32:55Z")

</div>

On 3/12/07, Alexey V. [removed\_email\_address@domain.invalid](mailto: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

---

<div class="post-metadata">

**Author:** ![alexeyv](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/46a35a/32.png) [@alexeyv](https://www.ruby-forum.com/u/alexeyv)\
**Post date:** [March 14, 2007, 1:55am UTC](https://www.ruby-forum.com/t/ann-cruisecontrol-rb-1-0/88626/5 "2007-03-14T01:55:13Z")

</div>

On 3/13/07, Alexey V. [removed\_email\_address@domain.invalid](mailto: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)?

---

<div class="post-metadata">

**Author:** ![alexeyv](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/46a35a/32.png) [@alexeyv](https://www.ruby-forum.com/u/alexeyv)\
**Post date:** [March 14, 2007, 3:00am UTC](https://www.ruby-forum.com/t/ann-cruisecontrol-rb-1-0/88626/6 "2007-03-14T03:00:18Z")

</div>

On 3/13/07, casret [removed\_email\_address@domain.invalid](mailto: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

---

<div class="post-metadata">

**Author:** ![alexeyv](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/46a35a/32.png) [@alexeyv](https://www.ruby-forum.com/u/alexeyv)\
**Post date:** [March 13, 2007, 6:05pm UTC](https://www.ruby-forum.com/t/ann-cruisecontrol-rb-1-0/88626/7 "2007-03-13T18:05:01Z")

</div>

On 3/13/07, Rob S. [removed\_email\_address@domain.invalid](mailto: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
