For a large web app I want to be able to have a private development cloud service that can be used for internal testing as well as the live cloud service.
They will both work against their own databases. I'll also be using the staging environment for the live environment to utilise VIP swapping..
My question is: What is the easiest way to publish to the development environment OR the live environment without having to manually change connection strings in web.configs? Is there some clever way to transform a config file based on the AzureService configuration?
First, instead of putting connection strings in web.config may I suggest putting them in Service Configuration (.cscfg)
file. That way if needed you can dynamically change that setting through portal or programmatically without having to redeploy the application.
Assuming you have put this setting in service configuration file, there are many ways to accomplish this:
dev
, qa
and production
configuration and deploy the application appropriately.