Audvik Labs

Azure Pipelines

Introduction

Azure Pipeline is an automated set of processes that helps developers to compile, build, and deploy codes on other computation platforms. It is a continuous delivery tool similar to open source Jenkins or CodeShip. The sole goal of this pipeline is that there is no manual intervention, all the changes are automatically executed in the project. Whenever humans are handling the process, there is a possibility of human errors while doing the same repetitive boring tasks, but with automation, it works seamlessly once it’s configured.

A pipeline is normally broken down into the following categories:

  • Source Control
  • Build Tools
  • Package creation
  • Configuration management
  • Monitoring

 

This Pipeline can be used with many application types such as Java, Go, Python, JavaScript, Node.js, .Net, C++ and XCode. To use it , you will need a source control to attach with it. Moreover, it supports various source controls such as GitHub, Azure Repos, Bitbucket, Subversion, etc.

This pipeline is based on the strong foundations of CI/CD pipelines which consistently test, build and deploy. They also perform constant deliveries automatically by continuous testing and deploying the codes to the desired targets in the project.

Procedure

1.       Go to Pipelines > Builds.

2.       Click New pipeline.

3.       In the Connect and Select steps, select your source repository type, select the repository you want to import then give permissions to Azure to access it.

4.       In the Configure step, select Starter pipeline in order to configure the steps of your pipeline.

5.       In the Review step, paste the content of the azure-pipeline-build_changes.yml file you have previously downloaded.

Prerequisites

We need the following prerequisites to use Azure pipelines.

  • We need an organization in Azure DevOps.
  • We need to maintain our source code stored in a version control system.
  • We need to have An Azure account.
  • We have to log into the Azure Portal with the global administrator or similar rights.

Approaches

Approach 1 : YAML syntax – RECOMMENDED

You define your pipeline in any YAML file (eg : azure-pipelines.yml) with the rest of your app.

The pipeline is versioned with your code. It follows the same branching structure. You get validation of your changes through code reviews in pull requests and branch build policies. Every branch you use can modify the build policy by modifying the azure-pipelines.yml file.

 

Approach 2 : Classic interface

In this approach , we create and configure pipelines in the Azure DevOps web portal with the Classic user interface editor.

This is the older way to configure a pipeline. At Microsoft Ignite 2019, they recommended using the above yaml approach though the classic interface will not go away any time soon.

You define a build pipeline to build and test your code, and then to publish artifacts.

You also define a release pipeline to consume and deploy those artifacts to deployment targets.

Benefits

You can use the Operating System of your choice and you can also decide what to use to build your applications, whether it is Python, Java, NodeJS, Ruby etc.

Since pipelines ease the process of building applications, it becomes easier to push your applications to containers like Docker, Kubernetes and even Azure Container Registry.

Azure pipelines also gives you excess to many community built tasks for better customization and thus help you build, test and deploy these tasks.

Azure Pipelines service, provides you freedom to deploy your application to different cloud platforms like AWS , GCP etc.

With fast paced continuous integration/continuous delivery (CI/CD) pipelines now you can deliver most of the open source projects.

Leave a comment

Your email address will not be published. Required fields are marked *