Continuous Deployment: Dev/Test in Azure and Deploy to Production On-premises

This post details the process of setting up CI/CD pipelines in Visual Studio Team Services (VSTS) and Team Foundation Server (TFS) to deploy applications first to Azure Virtual Machines (VMs) and then to on-premises production machines. It covers linking Azure subscriptions and GitHub repositories via Service Endpoints, deploying build agents, and using the IIS Web App Deployment extension. Key steps include creating build definitions with tasks like NuGet Installer, Visual Studio Build, and Copy and Publish Build Artifacts. It also outlines the creation of release definitions to deploy to Azure Resource Groups using ARM templates and override parameters for different environments, and then to on-premises machines using the same IIS/SQL tasks with connection string overrides.