This is the first post about my very own little build server, well this is not entirely true since i made a post about the hardware it is running on, but here I dive into all the software. This post is just made to give a short view of what my daily work includes.
In this first post I'll only cover the following:
- Software used for the server
- Software used for my Workstation
Software
Here is a quick list for the server:
And one for our workstation(s)
- Visual Studio 2008
- AnkhSVN 2.1, Link
- TortoiseSVN, Link
The Build Server
The operating system is not the best choice, but I just happened to have such a license collecting dust on the shelve so I figured, why not. This also includes things like .NET 3.5 SP1 ect. just by default windows upgrades. But theres many changes in Vista that I'm surely not use to, I hope we will see Windows 7 around the corner soon enough, but when that time comes, I'm properly to lazy to reinstall.
Continuous Integration
Besides that I Have chosen to install both CCNet and TeamCity, I Will most properly blog a bit about them in the future, the reason to have two different kinds of services is basically that I wanted to try out TeamCity, while I am use to using CCNet at work. Both are Continuous Integration Servers/Systems,
Configuration Management
As for Configuration Management I have chosen SVN, I'm use to CVS and/or Team System but CVS is certainly not adequate and Team System is not affordable as a private person. SVN is way better than CVS and theres even some decent plug ins to Visual Studio that enables you to work with projects there, ill get back to those plug ins when I talk about the additions I've made to my workstation(s).
CollabNet offers a good and easy to use installer package for windows that does almost all the work, it works like a charm, well after 4 attempts, I was new to SVN after all so I made a few mistakes in the start.
Tools and Database
Finally SQL Server 2008 Express and Visual C# 2008 Express is on the list, well if I'm ever to play around with databases I do prefer MS SQL Server above all, especially after I worked with Oracle for nearly a year, I have also had some thoughts on integrating CCNet with SQL Server, after all XML logs have there limitations. Visual C# is mainly to maintain things like CCNet configuration, build files only available on the build server and so forth.
Workstations
Visual Studio is a given for me, it is what I use at work, obviously this is how things will be here at home as well, I found 3 subjects for integrating SVN into the Visual Studio IDE.
- AnkhSVN
- VisualSVN
- Aigenta Unified SCC
Both Unified SCC and Visual SVN are commercial products, but as far as price go, it is not something I could not overcome. But obviously I started by trying AnkhSVN since that was free, I started with the latest stable release (2.0.6347) and that was sadly a pure disappointing experience, it integrates nicely into the IDE and I was able to add projects and so, but upon the slightest little sign of conflicts it just crashed continuously.
This made me start looking at Unified SCC as a replacement, after all this is integrated with MSSCCI (Microsoft Source Code Control Interface), sounds really good right? being able to use the same set of interfaces as you would with Team System, well sadly this was even more disappointing, hell I never got it to work.
So I had a brief look at VisualSVN instead, I gues the strong side of VisualSVN is that it is build on TortoiseSVN, a widely used client, but before I even got as far as to try it, after looking at screen shots that seemed to be more or less "all dialog" based, I went back to AnkhSVN again, this time trying there latest build (2.1.6635). And what do you know, this works much better than the version they marked stable, so I recommend this by far!.
TortoiseSVN is just for files I don't commit through Visual Studio, e.g. my 3rdparty folders.
I will properly update this post from time to time to keep it as a baseline for installing my buildserver.