I already have an SVN server set up on a windows server machine (got it by inheritance) on this same machine I also have got cruisecontrol running.
First i'm going to separate cruisecontrol from SVN - SVN is so important I'm not going to let cruisecontrol run on this very same server!!!
My questions:
- I plan to migrate from windows (couple of years hardware) to centos, do I need new hardware? (my sysadmin recommends that - less serverfaults... more support)
- What are Minimal Hardware requirements for svn server + cruisecontrol on secondary vm?
So my plan is this:
- Leave the SVN server on windows server for beginning.
- Move cruisecontrol into a virtual server, what should be the minimal requirements? (I want it to be centos) of the hardware like? 1GB memory? 100GB disk? what else?
- On that very same virtual machine put a back of the svn server + data in case the main svn server has an error - standby SVN server.
- Get a new machine for SVN server (do I need a new machine?) or can I get away with an older one? (my sysadmin told me that we need to buy a new machine as the hardware is old - a couple of years, more prone to failures and also less support). on that new machine install centos and install the svn server that will be the main svn server.
Anyone has any recommendations for me? Thanks
I think you are pretty much on the right track with that plan. Splitting them apart is good. Especially when things get busy or you want to do maintenance on one machine.
How much memory you need will really depend on what kind of things Cruise is going to be building; Lots of small modules/plugins, maybe 1G is enough, big financial modelling packages then that's not going to cut it. I'd rather have 2Gb of memory (more if you have lots of builds going on at one time). Disk space again will depend on the size of your projects that you are building more than anything else, 100Gb sounds good. It fills up faster than you think.
I like CollabNet SVN for Windows. Nice simple install web based management of SVN without any fiddling integrating it with Apache, comes with ViewVC for browsing.
I'd also recommend you have a look at hudson if you've not already discounted it. I started using Cruise Control a few years ago and have switched to hudson, the plugins available are really useful.
I've noticed that some developers have started putting all sorts of things like word docs, visio diagrams and so on into repositories, these start to fill up fast. Try to educate your developers that the repo is pretty much only for source code, it's not a file system or a dropbox. William Shakespeare only had about 120,000 lines of source code:
Lastly, do a regular dump of the important repositories (make sure you have space left for that). Compress it up, send it somewhere, uncompress it, test it is usable and then store it somewhere safe.
hotbackup.py
is a script I've found very useful see: SVN Maintenance