All, We''ve just set up a remote build (on top of our seven normal builds) using project.build_command = ''ssh ouruser at remotebuildmachine ./build_our_app.sh'' Is anyone else doing remote builds (either this way or some other)? What more have you done to make it clean? The issues we''ll hopefully be resolving in the next day or two are: * The remote build''s status throbber thingy acts funny. It will show the "( ! ) Builder down" spinner even while builds are being triggered by checkins. If you click [Build Now], the "Building" spinner will appear for a while, but disappear before the build has completed. (The list of builds correctly shows the incomplete build until it finishes.) * The cruise machine has a working copy of the code just to detect changes. Would be nice if it detected changes under the relevant tree without actually getting a copy. * The revision cruise thinks it''s building isn''t guaranteed to be the revision actually building, because build_our_app.sh just does an `svn up` before running rake. Need to see how to pass in a parameter in the build command so we can up to the right revision. I also just noticed that there are two "cruise build" processes running for that build. If anyone''s already sorted this stuff out, please let us know. Otherwise I''ll update as we get things figured out. Thanks. -john. thoughtworks, u.s.
Hey humidor We are doing deployments when there are successful builds using a plugin I wrote. Basically if the build succeeds then you can define a command to execute, in our case a capistrano task. You could have it execute your execution of ./build_our_app.sh. Download it here http://rubyforge.org/projects/cc-post-build/ Matt>From: "John D Hume" <duelin_markers at hotmail.com> >To: cruisecontrolrb-users at rubyforge.org >Subject: [Cruisecontrolrb-users] Remote builds >Date: Tue, 01 May 2007 09:53:09 -0400 > >All, >We''ve just set up a remote build (on top of our seven normal builds) using > project.build_command = ''ssh ouruser at remotebuildmachine >./build_our_app.sh'' > >Is anyone else doing remote builds (either this way or some other)? What >more have you done to make it clean? > >The issues we''ll hopefully be resolving in the next day or two are: >* The remote build''s status throbber thingy acts funny. It will show the >"( >! ) Builder down" spinner even while builds are being triggered by >checkins. > If you click [Build Now], the "Building" spinner will appear for a >while, >but disappear before the build has completed. (The list of builds >correctly >shows the incomplete build until it finishes.) >* The cruise machine has a working copy of the code just to detect changes. >Would be nice if it detected changes under the relevant tree without >actually getting a copy. >* The revision cruise thinks it''s building isn''t guaranteed to be the >revision actually building, because build_our_app.sh just does an `svn up` >before running rake. Need to see how to pass in a parameter in the build >command so we can up to the right revision. > >I also just noticed that there are two "cruise build" processes running for >that build. > >If anyone''s already sorted this stuff out, please let us know. Otherwise >I''ll update as we get things figured out. > >Thanks. >-john. >thoughtworks, u.s. > > >_______________________________________________ >Cruisecontrolrb-users mailing list >Cruisecontrolrb-users at rubyforge.org >http://rubyforge.org/mailman/listinfo/cruisecontrolrb-users
Update on our progress: We decided the biggest of our three issues was>* The revision cruise thinks it''s building isn''t guaranteed to be the >revision actually building, because build_our_app.sh just does an `svn up` >before running rake. Need to see how to pass in a parameter in the build >command so we can up to the right revision.The challenge was that the project.build_command was set only when the configuration was loaded, which didn''t happen before every build triggered by a commit. After digging around, we decided the easiest way forward was to modify Build.command to do a token replacement. (We looked at reloading the config on every build, but this seemed a big change just to get a revision number into our build_command.) We ended up with: # builder_plugins/installed/build_command_token_replacement.rb Build.class_eval do def command s = project.build_command or rake s.gsub(/<REVISION>/, project.source_control.current_revision(project).to_s) end end #eof -john.