Install Multiple Visual Studio Team Services (VSTS) Agents

Azure Public Test Date Azure Public Test Result

Azure US Gov Last Test Date Azure US Gov Last Test Result

Best Practice Check Cred Scan Check

With Visual Studio Enterprise you can create applications across devices and services, using an integrated, end-to-end DevOps solution for productivity and coordination across teams of any size. You get the tools you need to design, build, deploy and manage desktop, Windows Store, Windows Phone, and Office apps, as well as mobile and web apps across any device, web site, cloud service, and more. This image contains the recommended prodct install of the originally released (or 'RTW') version of Visual Studio Enterprise 2017 on Windows Server 2016. It allows you to easily and quickly set up a development environment in Azure to build and test applications using Visual Studio.

This Template 201-vm-vsts-agent builds the following:

  • Creates 1 Availability Set
  • Creates a Public IP Address
  • Creates a Virtual Network
  • Creates 1 Nic for the Virtual Machine
  • Creates 1 Virtual Machine with OS Disk with Windows 2016 including Visual Studio Enterprise 2017.
  • Installs and configures up to 4 VSTS agents
  • Installs named versions of modules


Click on the Deploy to Azure button below. This will open the Azure Portal (login if necessary) and start a Custom Deployment. The following Parameters will be shown and must be updated / selected accordingly.

Deploy To Azure Deploy To Azure US Gov Visualize


  • modules Enter the Names and Versions of the Modules to be installed in C:\Modules. This Parameter is a Json Array Default Modules and Versions are the following unless overridden:

    • AzureRM 5.6.0
    • AzureAD
    • Bitbucket.v2 1.1.2
    • GetPassword
    • posh-git 0.7.1 Example:
      {"name": "AzureRM", "version": "5.6.0"},
      {"name": "AzureAD", "version": ""},
      {"name": "Bitbucket.v2", "version": "1.1.2"},
      {"name": "GetPassword", "version": ""},
      {"name": "posh-git", "version": "0.7.1"}
  • publicIPDnsName The DNS Name for the Public IP Address. e.g. pipnameexample-dev.

  • vmAdminUser The name of the Administrator Account to be used to access the server(s).

  • vmAdminPassword The password for the Admin Account. Must be at least 12 characters long.

  • vmSize The size of VM required. Default is Standard_D1_v2 unless overridden.

  • vstsAccount The Visual Studio Team Services account name, that is, the first part of your VSTS Account e.g. {account}

  • vstsAgentCount The number of Visual Studio Team Services agents to be coonfigured on the Virtual Machine. Default is 3.

  • vstsPersonalAccessToken The personal access token (PAT) used to authenticate to VSTS.

  • vstsPoolName The Visual Studio Team Services build agent pool for this build agent to join. Use 'Default' if you don't have a separate pool.

  • _artifactsLocation Storage account name to receive post-build staging folder upload.

  • _artifactsLocationSasToken SAS token to access Storage account name


Access to Azure


We use Github for version control.


Paul Towler - Initial work - vm-vsts-agent

Tags: Microsoft.Compute/availabilitySets, Microsoft.Network/publicIPAddresses, Microsoft.Network/networkSecurityGroups, Microsoft.Network/virtualNetworks, Microsoft.Network/networkInterfaces, Microsoft.Compute/virtualMachines, extensions, CustomScriptExtension