Design a process for standardizing builds across organization

Alberto De Natale
3 min readSep 13, 2021

In this post, I will share my study notes that I took while preparing for the exam Azure AZ400 “Design a process for standardizing builds across organization”.

Manage self-hosted build agents (VM templates, containerization, etc.)

Using YAML allows to check-in build pipelines with code.

One of the important components of a build pipeline is virtual machines. Virtual machines used as build agents can be versioned in source control:

For this example, the template for creating the Azure VMs must be checked into a version control repository along with the rest of the application code, and it must be published as part of the build output.

Create reuseable build subsystems (YAML templates, Task Groups, Variable Groups, etc.)

YAML Templates

YAML Templates allow to separate and reuse part of a pipeline. There are two use cases for them:

If a template is used to include content, it functions like an include directive in many programming languages. Content from one file is inserted into another file. When a template controls what is allowed in a pipeline, the template defines logic that another file must follow.

Invoke a pipeline and pass parameters to it

# File: simple-param.yml
parameters:
- name: yesNo # name of the parameter; required
type: boolean # data type of the parameter; required
default: false
steps:
- script: echo ${{ parameters.yesNo }}
# File: azure-pipelines.yml
trigger:
- master
extends:
template: simple-param.yml
parameters:
yesNo: false # set to a string to have the build fail

The extends keyword states that azure-pipelines.yml extends simple-param.yml.

Conditionally invoke a template

If statements allow invoking choosing different templates to execute.

steps:
- ${{ if…
Alberto De Natale

Alberto De Natale is a passionate tech-enthusiast software developer.