Here's the development environment we're looking at:
- Primarily .NET (C# mostly)
- Development in Visual Studio 2008
- Source control in SVN (VisualSVN server, Tortoise client)
- Deployments with MSBuild/MSDeploy controlled by Rake scripts
What we'd like to start having is some kind of tracking of version numbers in deployments. The main reasoning here is for a non-developer to be able to look at something on the Production systems and know at least what source control revision produced it, track version numbers in our ticketing system, etc.
My first thought is to stamp every assembly at build time (via the Rake script, I would imagine) with a Major.Minor.Build version number scheme. We can manually set Major and Minor in the Rake script, those won't often change, and use the current SVN revision number as the Build.
Is there a better way to do this? Will the Build number get muddled by building from a tag of an older trunk revision? Any thoughts or advice on the matter? Maybe there's a tool somewhere that already does this rather well?