I've finished reading the book Pro Nuget, and I think making use of it for our dependencies would be better than our current method. Also, you can build application deployment packages to deploy your build to various environments, something we are also looking to better automate.
One of the ideas is to have several Nuget feeds; a ci feed where every successful integration publishes a package, a qa feed that you only publish versions you want qa to test and then a release feed, where you copy only packages from the qa feed that they successfully tested.
I like this idea but the recommendation is for ci builds to be marked as prerelease by ending the version in -alphaXXXX or similar. If I do that though, I need to get that designation removed during the promotion to the qa feed. I think you'd have to modify the package to do that however part of the appeal of Nuget packages is that once built you don't change them
Another idea is that since we mostly work in trunk, when I make the rc branch our build process would stop adding the prerelease part of the version. That seems like it would work, and then promoting from qa to release feed would be a simple package copy.
Is anyone is doing this approach and is it the recommended approach? Am I missing anything? I have googled but nit found much discussion on the details of such an approach.