CI Server for Rails

Hello all, Has anyone tried installing and running the CI server for their local fork of Rails? I have just been trying to do that and for one think the instructions are poor and dated and must be updated since all new Rails 3 is in the town. I had a word with Chad Woolley (thewoolleyman) who did the initial cinabox scripts to install the cruisecontrol.rb on your own server but since the different versions of Linux require different scripts, he has decided to rewrite the entire process in Chef to ensure stability and robustness. Here’s the repo: http://github.com/thewoolleyman/cichef . I would like to rewrite the entire CI setup process and make it as automated as possible but would need suggestions and help from the community.

Does it sound like a viable option? I would appreciate if Rails stalwarts have a say on this.

Anuj

Hi,

That's the wrong repo. Here's where the latest stuff I'm actually running on ci.rubyonrails.org lives:

http://github.com/thewoolleyman/rails/tree/ci

However, this is outdated. My main goal was to make the process easily repeatable (for people like you) - you run a single command on a blank server, and you end up with a working rails CI server. So I spent a lot of effort on creating supporting tools like bootstrap_ruby and cinabox - and got pretty close - the current servers were set up using this approach.

Unfortunately, I realized this approach isn't very maintainable or easily supported cross-platform.

So, my current plan is to scrap it all and redo it all in Chef. The repo for that is here: http://github.com/thewoolleyman/cichef - as you can see, I've made zero progress on that, mainly because the current machines are cranking along ok, and I'm still bootstrapping my Chef knowledge.

Help with this is very welcome. The goal is still to make it easily reproducible with a single command, as the current setup (almost) is. So, fork http://github.com/thewoolleyman/cichef and start helping out if you want.

Thanks! -- Chad

Hello all,

Has anyone tried installing and running the CI server for their local fork

of Rails? I have just been trying to do that and for one think the

instructions are poor and dated and must be updated since all new Rails 3 is

in the town.

I had a word with Chad Woolley (thewoolleyman) who did the initial cinabox

scripts to install the cruisecontrol.rb on your own server but since the

different versions of Linux require different scripts, he has decided to

rewrite the entire process in Chef to ensure stability and robustness.

Here’s the repo: http://github.com/thewoolleyman/cichef . I would like to

rewrite the entire CI setup process and make it as automated as possible but

would need suggestions and help from the community.

Hi,

That’s the wrong repo. Here’s where the latest stuff I’m actually

running on ci.rubyonrails.org lives:

http://github.com/thewoolleyman/rails/tree/ci

However, this is outdated. My main goal was to make the process

easily repeatable (for people like you) - you run a single command on

a blank server, and you end up with a working rails CI server. So I

spent a lot of effort on creating supporting tools like bootstrap_ruby

and cinabox - and got pretty close - the current servers were set up

using this approach.

Unfortunately, I realized this approach isn’t very maintainable or

easily supported cross-platform.

So, my current plan is to scrap it all and redo it all in Chef. The

repo for that is here: http://github.com/thewoolleyman/cichef - as

you can see, I’ve made zero progress on that, mainly because the

current machines are cranking along ok, and I’m still bootstrapping my

Chef knowledge.

Help with this is very welcome. The goal is still to make it easily

reproducible with a single command, as the current setup (almost) is.

So, fork http://github.com/thewoolleyman/cichef and start helping out

if you want.

Thanks!

– Chad

Chad,

Thanks for the correct. Well, I have started looking into Chef and really got no where with it :o( but I will keep trying.

I have seen the Pivotal Tracker CI setup and it looks amazing.

Thanks for your input.

Anuj

No, I apologize - I didn't read your email closely enough - you had it right.

Anyway, the point is, it should all be rewritten in Chef to be easy and repeatable, and any help is welcome...

Thanks! -- Chad

Thanks for the correct. Well, I have started looking into Chef and really

got no where with it :o( but I will keep trying.

No, I apologize - I didn’t read your email closely enough - you had it right.

Anyway, the point is, it should all be rewritten in Chef to be easy

and repeatable, and any help is welcome…

Thanks!

– Chad

No problem. Yeah, it should be easily repeatable and extensible. I will keep an eye on the repository.

Thanks

Anuj

To be more clear, here's all you need to do with my current setup:

http://github.com/thewoolleyman/rails/blob/ci/ci/README.markdown

All you do is wget a script and run it with appropriate env vars options, then you end up with a fully working rails CI server for the specified ruby interpreter and rails branch.

I want the Chef-based solution to be that easy. Chef gurus, please give me examples!

-- Chad

The Opscode cookbooks repository has a pretty good variety of examples, just about all that I’ve ever looked at are well documented too.

http://github.com/opscode/cookbooks/