views:

281

answers:

2

I am in a position where I could become a team leader of a team distributed over two countries. This team would be the tech. team for a start up company that we plan to bootstrap on limited funds. So I am trying to find out ways to minimize upfront expenses. Right now we are planning to use Java and will have a lot of junit tests. I am planing on using github for VCS and lighthouse for a bug tracker. In addition I want to add a continuous integration server but I do not know of any continuous integration servers that are offered as a web service.

Does anybody know if there are continuous integration servers available in a software as a service model?

P.S. if anybody knows were I can get these three services at one location that would be great to know to.

+1  A: 

I am assuming you are talking about continuous integration.

You can run CruiseControl on a virtual machine or an old machine, but if it needs to be up in the Internet, you can try virtual dedicated server hosting services. You can save money by picking Linux here, but I'd go for a Windows server if your target platform is Windows.

eed3si9n
+1  A: 

I rather doubt you'll find a service to build stuff for you. Building requires a lot of CPU power, and if you're having to rebuild every time someone commits, it would be hard to scale such a service.. And I'm sure there's probably security issues and the likes as well..

As @eed3si9n said, you could run CruiseControl on a spare (virtual-)machine and use that. Then setup port forwarding, and something like http://dyndns.com or http://no-ip.info to make it publicly accessible. It's not ideal..

I've never used CruiseControl before, but I imagine there will be a way to take the build results, and upload them to a public web-server (as a dumb HTML file). That way it would sit on your home machine, watching github, building new versions and sending the results to a reliable web-host (so no "Connection Timeout" every time your home connection isn't accessible)

In fact, I just looked at the CruiseControl documentation - the build results are stored as a set of XML files, so it'd be trivial to transfer/display them on another machine.

Basically, my suggestion is: run the continuous integration server on a spare machine, have it upload the results to a public web server somehow.

Edit: RunCodeRun is a hosted continuous integration for Ruby and Rails, and should be able to run other languages if the build can be run via a Rakescript (their blog post "Building Java Projects with RunCodeRun.com (or JRuby, or Scala, or Clojure...)" should apply to other languages)

dbr
CruiseControl as far as I remember already has the ability to display the build results as a website so that function is already taken care of, and as you are already exposing it using dyndns or no-ip you can also access the build results.
Mauro
Well, my main idea was to generate the HTML on the local machine, then push the generated HTML to the web server. That way you don't have to worry about port-forwarding, and the machine always being up, or your connection dying
dbr