The previous article was an introduction by way of setting out the problem. There are a few tools that will help you get the job done. But first I should explain what I want the end result to be.
What I want is to be able, at the press of a button, to produce a release version of my program ready to be deployed onto the client machine. That sounds reasonable, doesn’t it?
So what tools do we need? first is VisualSVN. I have written about this before. It isn’t free, it costs $US49.00 but it is worth every penny. It installs Subversion and works a treat.
I also managed to get an old, not too old, PC set up. It needed a hard drive, but I had a spare one of those lying around. If you have been developing for any length of time you tend to accumulate bits and pieces that can sometimes come in handy. The PC needs a memory upgrade, but that is not an issue – memory is pretty cheap.
You don’t need a separate PC, but I thought it worthwhile, performance and all that.
First you have to set up the PC. I installed Windows Server 2008. You don’t need server software, XP or Vista will do. You can even install Linux and Mono. So long as you can compile your C#, or VB.Net code you are OK. But I used Windows Server 2008 because I had it and I wanted to try it out.
There are a couple of things that need to be installed. First you need the CLR of the version you are developing on. These days there is no point in not installing 3.5, even if you aren’t using its features yet. By the end of the year you will probably want to install 4.0. But you will certainly want at least version 3.0. However, that doesn’t mean that you want to install Visual Studio, just the framework, because all you really need is the compiler.
You will also need to install VisualSVN Server. This will setup the Subversion Repository on your server. You client, or development PC will connect to the Build Server and hence the Subversion Repository. More on setting up the Subversion Repository next time.
The next piece of software that you want is Continuous Integration software. There are a few of these around. I suppose the most common has beenCruiseControl. I looked at this a year or so ago and it seemed fairly complex to set up. At that time I didn’t think that it was going to be of any great benefit to me so I didn’t pursue it. But a few months ago I came across TeamCity. It was love at first site. It is incredibly easy to set up and we will look at that after we have examined Subversion more closely.
Finally, I installedVMware Workstation to help me create virtual machines. You can use something like VirtualPC but I think VMware is a better product, but you have to pay for it. We will look at VMware and what it brings to the build process in a later post.
Really finally, there are some other things I installed which aren’t necessary for the build proces but are useful to have. I will describe these later on.
That’s it for. Next time – VisualSVN and Subversion.