Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

subversion/cruise control/nant/nunit with visual studio projects and solutions

I work in a team of 2 developers and currently we use VSS and have no continuous integration or daily build and few Unit tests.

I'm looking to change our source control to Subversion and at the same time get up and running with a more professional process.

Subversion/cruise control/nant/nunit appears quite a popular combination from what I've seen so far and I've just installed these onto a spare machine.

I've downloaded the subversion manual and that is 400 pages long for just one of the tools!

Really I just want to get up and running using tried and tested patterns proven already in the wild and then tweak as required and as my familiarity with the tools increases.

Is anyone aware of any book/tutorial/walkthrough that covers just the essentials to get me up and running ASAP with this particular combination of tools?

like image 229
Martin Smith Avatar asked Mar 03 '09 14:03

Martin Smith


2 Answers

I've been using subversion for quite some years now and I have to say that the best introduction I've found is included in the help file for TortoiseSVN. TortoiseSVN is another free client for Windows with Explorer integration. I highly recommend reading the Tortoise help first, even before the original subversion docs. Where necessary it refers you to the official docs.

Tortoise also happens to be my favorite client. In fact, on most machines it is the only subversion component I need. It performs all of the functions I use routinely, including repository creation. While that is no knock to the regular command-line tools, and I do install those as well in most cases, I only find the cli tools necessary for automation from scripts and (infrequent) repository maintenance functions.

I'm in the process of rearchitecting our own build environment at work so I'm going through the options for a lot of build/development tools. Here are tools I can recommend or come with good recommendations from others:

WinMerge: highly recommended free diff tool, install after TortoiseSVN for the best integration. I use this tool on a daily basis for many purposes, some outside of development.

TeamCity: CI server that seems to be well-polished. I haven't tried this one yet but it's the leading contender over CC.NET given my experience with CC.NET (a year) and the good reviews it receives. Hudson is another well-reviewed option.

VisualSVN Server: a recommended free http(s) server for SVN that features AD integration for permissions and a microsoft-style msc console. I just finished implementing it at work and it's very simple. A must if you want remote (IP) check-in/check-out, ssl encryption, repository hook scripts and other server-based features.

VisualSVN: a well-reviewed Visual Studio plug-in for SVN. Haven't tried this one but it is regarded as a no-brainer purchase. [Edit: according to what I've read here on overflow, AnkhSVN is a free option that works about the same.]

SVN-Monitor: recommended free monitor software that alerts you to changes in the repository. Configurable as to what it monitors and the action it takes. Depends on TortoiseSVN being installed.

BugTracker.NET: recommended free issue-tracking server. Features SVN integration to tie issues being tracked to subversion revisions. Not sure if TeamCity has a similar feature but we already use this outside of development to track helpdesk issues and it is great for a free package.

I don't have experience with unit testing, coverage, documentation tools for .NET, so I can't comment there.

I am a Pythonista though, so I'll plug one thing Python can be useful for wrt SVN, which is that you can use the PySVN library to perform any kind of automated repository work that's too complex for scripting with the command-line tools. I use it for creating tags once a build is ready to be tagged and deployed.

Pick some of these tools and you'll be ahead of the game. Developing processes around them and training personnel, well, that's still a job for you. :)

like image 126
Binary Phile Avatar answered Oct 04 '22 15:10

Binary Phile


I've recorded a video illustrating all of the basics including setup of SubVersion, CruiseControl.NET. I even illustrate a broken build. The dev tool used was Delphi but could have easily been VS.NET.

like image 41
Steve Avatar answered Oct 04 '22 15:10

Steve