Introduction to Azure DevOps YAML Pipelines - Universal Delivery Pipeline

Past Thursday my friend Emmanuel Brandão and I started an open source project called UDP - Universal Delivery Pipeline that has the purpose to create build and deployment templates to deploy every kind of technology (dotnet, node, terraform, Java, etc), everywhere (public and private clouds such as Azure, AWS, GCP, VMWare, bare metal, etc).

We are creating this project in lives on the DevOps Nights channel and you can follow the progress every Thursday at 10 PM (CET) =).

In the first live we created a basic template to build a dotnet core application. In this post, I’ll describe the steps that we did in the live.

Creating a dotnet core “client” application and a YAML build

We had create an standard webapp application in dotnet core to be the “client” of our templates.

To show the steps from the begining, we started creating an standard YAML with build tasks, without template.

Creating template

After check that we have a valid YAML able to build our application, we moved it to a first version of our template. It was in the same repo to keep the things simple in the begining.

This is how the file structure looks like:

Pay attention that we have two files in the root:

  • azure-pipelines.yml
  • template.yml

The file azure-pipelines.yml is the file that will consume the template.

The template.yml is the file that contains all the steps necessary to build our application.

These files are the result of what we did during the live. You can see the code at this stage on this tag. If you want to know how we achieve it, watch the video on the top of the post =].

Written on February 14, 2021