DevOps - Part Three - Continuous Delivery With Azure Pipelines

In this article, I will be explaining the continuous release, how you would benefit from using it, and will give a practical sample. Continuous Delivery is the name given to the process that automates the build and deployment of a software product into the production phase.

Continuous Delivery With Azure Pipelines

 
In this article, I will be explaining what continuous release is, how you would benefit from using it, and will also give a practical example.
 
What is Continuous Delivery?
 
Continuous Delivery is the name given to the process that automates the build and deployment of a software product into the production phase. You may automatize your whole deployment phase saving time and energy with bureaucratic steps.
 
What are the benefits of using Continuous Delivery? 
  1. Safer - You may apply numerous deployment techniques/patterns, such as blue/green deployment in order to certify that you have a reliable package.
  2. Faster - You don't need any more painful manual steps. Everything is done automatically by the automation scripts.
  3. Cheaper - No more hours of the resource being used to deploy packages; now, you may keep your team busy with what matters, i.e., the code.
  4. Better for team health - No more arguments or lack of confidence among team members due to the problems like the forgotten steps, that causes a downtime in the production environment.

Azure Pipelines

 
"Azure Pipelines is a cloud service that you can use to build and test your code project automatically and make it available to other users. It works with just about any language or project type.

Azure Pipelines combines continuous integration (CI) and continuous delivery (CD) to constantly and consistently test and build your code and ship it to any target."

Why use Azure Pipelines?

  • Accepted languages: Python, Java, PHP, Ruby, C#, and Go.
  • Accepted application types: Java, JavaScript, Python, .NET, PHP, Go, XCode, and C++.
  • Integrates with: GitHub, Azure Repos, Bitbucket, and Subversion.
  • Accepted targets to deploy the code: container registries, virtual machines, Azure services, any on-premises or cloud target.
  • Type of packages produced: NuGet, npm, Maven packages or you can use any other package management repository of your choice.

Let's get to work!

  1. The previous article can be used as a starting point
    To find the article used as a base here, please check my previous article here. It shows how to set up your CI - Continuous Integration using Azure Pipelines.

  2. Create a new release pipeline.

    Continuous Delivery with Azure Pipelines

  3. As my website is a Web App hosted on Azure Service plan, this is the task that I selected.
    Continuous Delivery with Azure Pipelines

    You may find an overview of the tasks here.

  4. Configure your deployment target.

    Continuous Delivery with Azure Pipelines

  5. Configure your artifact. It may be the result of a previous CI build.

    Continuous Delivery with Azure Pipelines

  6. Configure your triggers.

    Continuous Delivery with Azure Pipelines

  7. Configure your schedules.

    Continuous Delivery with Azure Pipelines

  8. Success!

    Continuous Delivery with Azure Pipelines
You may find the published website here: https://tvatest.azurewebsites.net/

Congratulations! You have successfully created your Continuous Delivery Pipeline.

The code on DevOps repository can be downloaded from here.
 
External sources
  • https://continuousdelivery.com/ 
  • https://azure.microsoft.com/en-us/services/devops/pipelines/