VSTS Extension – Tagging all resources within a Resource Group

In my current project I’ve stumbled upon a problem. We have many ARM templates and need to add tags to all resources. Doing this within templates can be cumbersome, so I’ve created a small VSTS extension that adds tags to all resources within a specific resource group.

The extension can be installed from https://marketplace.visualstudio.com/items?itemName=PeterRombouts.autotagging-extension

The working is pretty simple; enter the values for your subscription, and resourcegroup, and then add the tags.

The tag pairs should be entered, one pair per line, comma separated. The extension will add these tags to all resources in the given resource group, and will not do anything to the existing tags.

Remarks? Please do give feedback! The project is available on Github if you want to contribute!

ARM Outputs in VSTS pipelines

In my work as Cloud Solution Architect I often find teams struggling with the exact same problem. In this blogpost I will highlight one of those problems; passing on ARM output variables within a VSTS pipeline.

Many developers have Powershell or other scripts in place, that fix this problem, but I want to highlight an extension, which is freely available and does this for you, for free!

ARM Outputs by Kees Schollaart


This extension enables you to use the ARM Deployment outputs in your VSTS environment.

This step will use the last successful deployment within the selected resource group. If this deployment has outputs, all of them are copied to VSTS variables by the ARM Output key.

These outputs can then be used by default VSTS ways: $(same-key-as-in-arm-template)

Usually this task is ran directly after the ‘Azure Resource Group Deployment’ task.

So my pro-tip; Stop using your own scripts and implement this handy extension!

PS: On a sidenote, Kees is also a great guy, give him a tweet after you install this in your project 😉

Link to Marketplace: https://marketplace.visualstudio.com/items?itemName=keesschollaart.arm-outputs
Kees on Twitter: https://twitter.com/keesschollaart

LogicApp Template Creator

When trying to put your LogicApp code in a CICD pipeline, it is always problematic getting your code into a proper template.
Obviously switching to ‘LogicApp Code View’ is an option, but there is a better solution to this problem.

LogicAppTemplate is a PowerShell commandlet that makes is very easy to get the content (even automatically) of the app and save it to disk.

The usage is very simple, open up a PowerShell window and execute the next command:

Big thanks to Jeff Hollan who authored this!

Deploy LogicApps using linked templates

Deploying LogicApps with VSTS is easy. You can create a new project using the steps defined in this post and you are all set with deployment settings in place.

But, when you add more and more LogicApps your JSON file will grow and you might be better off putting each LogicApp within its own JSON. Not to speak of the parameters running wild within your files…
This post will explain how to set this up, and what is needed in your VSTS builds to enable the deployment of all the linked apps.

Continue reading “Deploy LogicApps using linked templates”

Deploy and host static content in Azure Blob storage

Hosting static HTML and CSS in Azure Blob storage is pretty simple. Using the Storage Explorer it is as simple as drag-and-drop. But when you want to integrate this in your VSTS pipeline, content type issues arise. This tiny blog will explain how to identify and fix this problem.

Continue reading “Deploy and host static content in Azure Blob storage”

Using tokens for custom settings in VSTS CICD Pipelines

In this blog I will explain how to separate your settings from your configuration files, when deploying from VSTS. I will show with an example how you can deploy your WebApp and store all variables in VSTS, eliminating the need for developers to have all settings and configurable values within Web.config transformation files.

When deploying your WebApp to various on-premise environments from VSTS, you can use Web.config transformations for separation of your various variables. But, sometimes, the *.Config transformations do not meet your needs.

Continue reading “Using tokens for custom settings in VSTS CICD Pipelines”