When looking at how people like to deploy their applications to a cloud environment, a large faction seems to prefer being able to use their source control system as a source for their production deployment. While interesting, I see a lot of problems there: your source code may not run immediately and probably has to be compiled. You don’t want to maintain compiled assemblies in source control, right? Also, maybe some QA process is in place where a deployment can only occur after approval. Why not use source control for what it’s there for: source control? And how about using a NuGet repository as the source for our deployment? Meet the Windows Azure NuGetRole.
Disclaimer/Warning: this is demo material and should probably not be used for real-life deployments without making it bullet proof!
How to use it
If you compile the source code (download), you have X steps left in getting your NuGetRole running on Windows Azure:
- Specifying the package source to use
- Add some packages to the package source feed (which you can easily host on MyGet)
- Deploy to Windows Azure
When all these steps have been taken care of, the NuGetRole will download all latest package versions from the package source specified in ServiceConfiguration.cscfg:
For those with limited server resources (or an IT that makes it so) this kind of thing, hosting your NuGet Packages in the cloud/azure might be pretty helpful. Of course you'd need to look at the cost and ROI, but still I thought this kind of cool...