views:

132

answers:

6

We're using CruiseControl.NET for our build server and Subversion for source control. Our IT guy suggested putting these together on one virtual machine. For some reason that smells funny to me, but I can't explain why. It seems like the source control server is a lot less "transient" of a server than a build server. Does anyone else feel uncomfortable with this idea, and perhaps explain why?

I realize VM's are cheap; there are other considerations here that I'm not explaining. The scope of this question is: is there anything suboptimal or risky about putting a build server and source control server on one box?

+4  A: 

I know what you mean. The build server is conducive to change: hardware, configuration, etc. These changes can render it inoperable. You don't want that to happen to your SVN server.

I would insist upon a separate VM for the source control server.

Robert S.
A: 

We have that setup - but with Perforce and CruiseControl.Net.

As long as everything is properly backed up, and there are decent resources dedicated to the server, you should be fine.

rifferte
A: 

Isn't that one of the advantages of VM's? You can put them in separate"boxes"?

Our corporate antispyware and antivirus each have their own VM's for cryin' out loud

prestomation
A: 

As long as performance isn't a problem and you make regular backups to another location, I don't see an issue. My company does pretty much exactly what you describe, except with a physical server, not a VM. Even when there is a build running (they run hourly), the responsiveness of SVN doesn't seem to be affected.

rmeador
A: 

I would think it would be very convenient to have them both on the same machine just given the fact that it'd be easier to deal with the check-in event through CC by pointing to the local machine.

rball
+6  A: 

Your Subversion repository holding machine should be treated with great respect given the central position it holds within a development environment. It should have as little change going on as possible to ensure stability.

A build server can have a degree of churn as different projects are built, workloads change, and the number of people logging onto it can be far higher than a repository server would normally see.

I wouldn't want to combine functions if at all possible, for an IT person it may appear that tin is being underused, but it's a security separation that is important for a controlled development environment.

Alan Mullett