What to do when moving your Azure DevOps organisation from one region to another is delayed.

There are good reasons why you might wish to move an existing Azure DevOps organisation from one region to another. The most common ones are probably: A new Azure DevOps region has become available since you created your organisation that is a ‘better home’ for your projects. New or changing national regulations require your source stored in a specific location. You want your repositories as close to your workers as possible, to reduce network latency....

January 25, 2021 · 2 min · Richard Fennell

Running UWP Unit Tests as part of an Azure DevOps Pipeline

I was reminded recently of the hoops you have to jump through to run UWP unit tests within an Azure DevOps automated build. The key steps you need to remember are as follows Desktop Interaction The build agent should not be running as a service it must be able to interact with the desktop. If you did not set this mode during configuration this post from Donovan Brown shows how to swap the agent over without a complete reconfiguration....

December 8, 2020 · 2 min · Richard Fennell

Out of Memory running SonarQube Analysis on a large projects

Whilst adding SonarQube analysis to a large project I started getting memory errors during the analysis phase. The solution was to up the memory available to the SonarQube Scanner on the my build agent, not the memory on the SonarQube server as I had first thought. This is done with an environment variable as per the documentation, but how best to do this within our Azure DevOps build systems? The easiest way to set the environment variable `SONAR_SCANNER_OPTS` on every build agent is to just set it via a Azure Pipeline variable....

December 1, 2020 · 1 min · Richard Fennell

Getting confused over Azure DevOps Pipeline variable evaluation

Introduction The use of variables is important in Azure DevOps pipelines, especially when using YML templates. They allow a single pipeline to be used for multiple branches/configurations etc. The most common form of variables you see is are the predefined built in variables e.g. $(Build.BuildNumber) and your own custom ones e.g. $(var). Usually the value of these variables are set before/as the build is run, as an input condition. But this is not the only way variables can be used....

November 27, 2020 · 3 min · Richard Fennell

How to export Azure DevOps Classic Builds and Release to YAML

This is another one of those posts so I can remember where some useful information is…. If you are migrating your Azure DevOps Classic Builds and Release to Multi-Stage YAML then an import step is to export all the exiting build, task groups and release as YAML files. You can do this by hand within the Pipeline UI, with a lot of cut and pasting, but much easier is to use the excellent Yamlizr - Azure DevOps Classic-to-YAML Pipelines CLI from Alex Vincent....

November 13, 2020 · 1 min · Richard Fennell