So, I’ve got this shiny new mac provided by my new employers, and so I figured I’d put it to use as a CruiseControl build manager. I found the process reasonably simple but, just like the process of setting up Subversion and SCPlugin, there are a couple of extra steps I figured I’d share…
First step, download the latest source from the downloads page here. Simply expand that to where you want your build instance to live. Next open up a terminal window, and type the following:
cruisecontrol.sh
More than likely, you will get the following error message:
-bash: cruisecontrol.sh: command not found
More hunting on the mighty intergoogle and a quick look at ‘bash guide for beginners’ told me the answer – I need to tell bash which shell to use to execute the cruisecontrol.sh script. I found either of the following lines worked:
sh cruisecontrol.sh bash -x cruisecontrol.sh
I’m not a Unix geek, so I don’t pretend to know what the difference is, or which is preferable – if anyone can tell me I’d love to know..
-x is just for debugging afaik (basically verbose info if that process fails). what you should try (and this is on all nix systems) when calling a sh script in the same folder you are in you go bash
./cruisecontrol.sh
on my nix box where i want cc to run as a “service” you can start cruisecontrol in deamon mode with -&
glad you are blogging about this CI stuff again, sometimes it feels like its only the two of us interested in it!!
How do you compile and run the ‘Dashboard’ from the source distribution?
I ended up just downloading the binary distribution because it was too much of a pain to trawl through the docs (which I found more confusing than helpful)
Hi Ryan,
I just went with the binary distribution too, sorry if this wasn’t clear in the post…
You could not run your cruisecontrol.sh shell script directly because it does not have executable permission.
Run chmod to set permissions (you do it only once):
chmod a+x crusecontrol.sh
Then it will run if you just type:
./cruisecontrol.sh
If you want to run it without ./in front, you have to add your current folder in PATH env variable.