From 0 to Cruisin in One Script!
April 14th, 2008
I put together a script that does a complete cruise control setup on a fresh install of Ubuntu 7.10. All you need to do is run the script and it will setup MySQL, Ruby, Rails, Nginx, Subversion, Git, and the git enabled fork of CruiseControlrb. The script will setup the Nginx virtual host proxy to the cruise control instance along with init scripts for cruise and Nginx. After running this you will be completely cruise controlled!
This script does assume a few things in order to work properly. If you follow these instructions you shouldn't have any problems. These instructions should be followed immediately after installing Ubuntu or building your Ubuntu 7.10 VPS.
Edited on April 14, 2008 to fix svn url and suoders constraints
This script does assume a few things in order to work properly. If you follow these instructions you shouldn't have any problems. These instructions should be followed immediately after installing Ubuntu or building your Ubuntu 7.10 VPS.
% sudo adduser cruise
% sudo apt-get update
% sudo visudo #add cruise user to sudoers file
% sudo su cruise
% cd /home/cruise
% sudo aptitude install subversion
% svn co https://opensource.thinkrelevance.com/svn/system/ubunu/setup
% mv setup/go_cruisin.sh .
% sudo sh go_cruisin.sh
This will take a while to complete depending on your system. I usually use Slicehost for my VPS needs. On a well equipped Slicehost VPS this script usually takes around 10 minutes to complete. This is the first version of this script and I intend to make some more updates and require less user interaction, but I think this is a good start!Edited on April 14, 2008 to fix svn url and suoders constraints



on April 14th, 2008 at 11:38 AM One thing to note is that the instructions don't exactly work unless user 'cruise' is in /etc/sudoers file. Otherwise you need to install subversion before you su to cruise. --windexh8er
on April 14th, 2008 at 11:41 AM Also the svn line does not work, just tried it a minute ago and I get: cruise@slice01:~$ svn co https://opensource.thinkrelevance.com/system/ubunu/setup svn: PROPFIND request failed on '/system/ubunu/setup' svn: PROPFIND of '/system/ubunu/setup': 405 Method Not Allowed (https://opensource.thinkrelevance.com)
on April 14th, 2008 at 01:25 PM Sorry about those things. I will edit and post corrections. Until then here is the corrected subversion url. https://opensource.thinkrelevance.com/svn/system/ubuntu/setup.
on April 14th, 2008 at 02:41 PM No problem! I really like the script... Ran it on Slicehost this morning after I figured out the right URL. Thanks for sharing with the masses. :)
on April 14th, 2008 at 04:32 PM I have only ran it on VM's and Slicehost, so I am looking for any feedback I can get. Did things work correctly for you?
on May 5th, 2008 at 09:12 AM Maybe this is a stupid question, but does the x64 Ruby "work" on 32-bit machines? It bears repeating that this script is designed to run *before* you have set anything else up. It runs without error for me on 8.04 and sets up a lot of cool things. Finally, when you hit the cc.rb URL that you see later, the instruction that it gives you on the webpage will *not* be correct. You need to use either --svn-url or --git-url options to the cruise command for adding your project to work effectively.
on May 5th, 2008 at 09:27 AM Is there room for getting a completely locked down outgoing mail server to send the build notifications? And is this installation expected to be on the public internet so that SCM callbacks are possible, or does it need to be paired with some sort of cron builder?
on May 5th, 2008 at 12:27 PM The cron builder appears to be the default, anyway. No SCM callbacks needed. I will now shut up.
on May 5th, 2008 at 10:51 PM Jim, No the 64 bit binaries will not work with a 32bit OS. If you are trying to do this with Ubuntu 8.04 there are a couple of changes that apply to the script. I haven't had time to rewrite it to work with the new version. What do you mean buy room for a mail server? The version of CC that the script sets up is a forked version that supports git, so the add script has changed a little. That's why the instructions aren't correct. As far as public versus private, every install is different, this is just a generic setup that you will need to modify to your liking.