Matt,

I recently went through the pain of trying to get CruiseControl to work with
rvm and bundler. I'm not a build expert and would rather spend my time
writing code. Unfortunately, the cruise control documentation has not been
updated to reflect these new technologies. I teach a course where we have 25
student teams using a build machine and next year we will be switching to a
different product.

Cruise Control and bundler ---
Chad Woolley and I had an email thread on the group about a month ago,
please check it out. (Bundler and cruise control.rb 6/17/10, 7/14, 9/24) He
had some very good suggestions, but I needed a little more explicit
guidance. In the end, for me to get bundler to work with cruise control,
this is what I did:

a) modify .cruise/projects/NAME/cruise_config.rb to execute a shell command.
In this case, I choose   project.build_command = '../build_my_app.sh'
 because my build scripts were not in source control. Since I was working
with student teams, I wanted them all on the build machine. Perhaps next
time I would put them in source control.

b) create build_my_app.sh
bundle install
ruby -e "require 'rubygems' rescue nil; require 'rake'; load
'/Users/tsedano/cruisecontrol-1.4.0/tasks/cc_build.rake'; ARGV <<
'--nosearch' << 'cc:build'; Rake.application.run; ARGV.clear"

The first line runs bundle install as the cruise control unix user, the
second line is the line that my cruise control normally executes; I got it
from the build logs

I tried several variants to get bundler to work from lib/tasks/cruise.rake
but was not successful. When cruise.rake executes it needs to have the rails
environment ready, but it wasn't since bundle hadn't been run yet.

I'm sure there is a better way to do this, but I wasn't able to get it to
work.

Cruise Control and rvm ---
As the command prompt, I was using bundler 1.0.2, but when cruise control
was running, it was using bundler 0.9.6 for some projects -- I couldn't find
how and where it was getting the wrong bundler from my filesystem. In the
end, I disabled rvm, found the 0.9.6 gem, and then was able to uninstall it.
I suspect that cruise control is running as a different user on my system. I
decided not to reinstall rvm.

I briefly was considering switching to Hudson or Team City. While I was
looking at those products, I came across this thread. If I had more time, I
would try out some of the commands in their shell script to see if it would
get Cruise Control to work well with rvm.

http://groups.google.com/group/rubyversionmanager/browse_thread/thread/d2271d37ad7f844f


If you are able to get this to work, please post back to the group. Also,
please try and find the cruise control website maintainers and get the
official documentation updated. I would do that, but I'm not convinced this
is the "right" way to solve the problem.

Todd



On Fri, Oct 15, 2010 at 9:36 AM, Matthew O'Riordan <
[email protected]> wrote:

> Hi all
>
> I've recently installed CruiseControl.rb and have a variety of Ruby & Rails
> projects which I am looking to use CC with.  Unfortunately the projects use
> a variety of gem bundles, and even worse, different version of Ruby.  As
> such, I really need to get RVM and ideally bundler working with
> CruiseControl.
>
> Has anyone made any progress with this?  I've done some searching, and
> can't seem to find anyone who has as yet got it working.
>
> Any advice and pointers in the right direction would be appreciated.
>
> Matt
>
> BTW. I realise there is a post at
> http://groups.google.com/group/cruisecontrolrb-rubyforge-mailing-list/browse_thread/thread/81892db289a9a360
>  and
> I have tried to post to this, but unfortunately my posts have disappeared.
>
> _______________________________________________
> Cruisecontrolrb-users mailing list
> [email protected]
> http://rubyforge.org/mailman/listinfo/cruisecontrolrb-users
>
>
_______________________________________________
Cruisecontrolrb-users mailing list
[email protected]
http://rubyforge.org/mailman/listinfo/cruisecontrolrb-users

Reply via email to