Solution architecture: Continuous deployment for Virtual Machines with Visual Studio Team Services

Azure is a world-class cloud for virtual-machine (VM) deployment and management. Whether you use ASP.NET, Java, Node, or PHP to develop your applications, you’ll need a continuous-integration and-continuous deployment (CI/CD) pipeline to push your changes to these VMs automatically.

Visual Studio Team Services provides VM-deployment automation through a CI/CD pipeline, starting with a Git repository for version control, a build system for continuous integration, and a release-management system for continuous deployment. Dynamically provision test VMs using Azure ARM templates or Azure Dev/Test Labs, configure or verify necessary pre-requisites, and roll out the changes to production VMs. As necessary, perform a large-scale rolling deployment of your application to a farm of VMs. Using these integrated tools, you can track each commit all the way to a virtual machine in your production environment.

Commit Azure VMs Azure VMs Dev / Test lab Continuous integration trigger Continuous deployment trigger Deployment to QAenvironment Deployment toproductionenvironment Deployment tostagingenvironment Visual Studio TeamServices Git Application code,ARM template Visual Studio TeamServices CI Build, ARM template Visual Studio TeamServices CD Environmental specificARM parameters

Implementation guidance

Products/Description Documentation

Set up continuous-integration builds and ensure high quality for each of your commits using Visual Studio Team Services Build.

Trigger automated deployments to Azure websites upon completion of a successful build using Visual Studio Team Services Release Management.

Virtual Machines

Use Azure Windows or Linux VMs to run your applications. Dynamically provision VMs using ARM templates.

Visual Studio

Develop ASP.NET, ASP.NET core, Node, PHP, or Java applications using Visual Studio Code and Visual Studio.

Collaborate with your team members and share code in a Visual Studio Team Services Git repository.

Azure DevTest Labs

Dynamically provision VMs using an Azure Dev/Test Lab.

Related solution architectures

Continuous integration trigger Azure Container Service (Registry) Push container image Pull container image Continuous deployment trigger Deployment Visual Studio Team Services Git Visual Studio Team Services CI Application code, Docker files, Compose files, Deployment files Container images Compose files, Deployment files Environment specific Compose files, Deployment files Running containers Azure Container Service (Kubernetes, Swarm, or DC/OS) Visual Studio Team Services CD Commit

Continuous integration and deployment (CI/CD) for containers with Visual Studio Team Services

Container deployment makes it easy to continuously update and improve your applications. Create replicable, manageable clusters of containers by orchestrating the continuous integration and deployment of those containers using Kubernetes or DC/OS in Azure Container Service. Use Visual Studio Team Services to deploy faster and more reliably by setting up a continuous build to produce and orchestrate your container images.

Learn more