Skip main navigation

Bring Your Own Template


The last couple of videos demonstrated the automation capabilities within DevTest Labs. We looked at deploying a VM that automatically generates an ARM template that you can reuse in your deployment pipeline.

The automation that you perform within your DevTest lab is not just locked down to the DevTest lab. In this step, we’ll explore the Bring Your Own Template (BYOT) feature within DevTest Labs and the capabilities it brings.

DevTest Labs in the CI/CD Toolchain

If you are using VSTS, there is an Azure DevTest Labs Tasks extension that allows you to automate your release pipeline in Azure DevTest Labs. Some of the uses of this extension include:

  • Creating and deploying a VM automatically and configuring it with the latest build by using Azure File Copy or PowerShell VSTS tasks.
  • Automatically capturing the state of a VM after testing to reproduce a bug on the same VM for further investigation.
  • Deleting the VM at the end of the release pipeline when it’s no longer needed.

For other CI/CD toolchains, all the previously mentioned scenarios that can be achieved through the extension of the VSTS tasks can be similarly achieved through deploying Azure Resource Manager templates using Azure PowerShell cmdlets and .NET SDKs. You can also use REST APIs for DevTest Labs to integrate with your toolchain.

Complex Environments

If an environment contains multiple VMs that need to be created in a single step (for example, a multitier Web app or a SharePoint farm), you can use Azure Resource Manager templates to define the infrastructure and configuration of your Azure solution. The templates also allow you to repeatedly deploy multiple VMs in a consistent state.

Benefits of this feature include the ability to load templates from your source code repository, the ability for users to create an environment by choosing an Azure Resource Manager template from the portal after configured, and the ability to provision Azure PaaS resources from a template, as well as IaaS VMs.

Other benefits include cost tracking of environments and individual VMs, and VM policy control across environments the same way that you have for single-lab VMs. For more information on how to configure Azure Resource Manager template repositories and create environments from a template, see Create multi-VM environments with Azure Resource Manager templates.

For best practices and tips and tricks for getting the most out of DevTest Labs, see the Azure DevTest Labs Team Blog.

Join the discussion

Explore the Azure DevTest Labs Team Blog. Share a key learning with the group and explain how you’d apply this learning in your DevTest Lab.

Use the Discussion section below and let us know your thoughts. Try to respond to at least one other post and once you’re happy with your contribution, click the Mark as complete button to move on to the next step.

This article is from the free online

Microsoft Future Ready: DevOps Development, Implementation and Azure Automation

Created by
FutureLearn - Learning For Life

Reach your personal and professional goals

Unlock access to hundreds of expert online courses and degrees from top universities and educators to gain accredited qualifications and professional CV-building certificates.

Join over 18 million learners to launch, switch or build upon your career, all at your own pace, across a wide range of topic areas.

Start Learning now