Azure Pipelines is the Continuous Integration and Continuous Delivery (CI/CD) solution for any language, application, or platform. Microsoft is seeing it’s customers use it for both enhanced CI/CD functionality, and as a dedicated CI/CD service to use in their DevOps toolchains.
Azure Pipelines’ key value proposition is to build, test any language, and deploy to any platform or any cloud.
Using Azure Pipelines you can build and test any language including Go, Node.js, Python, Java, PHP, Ruby, C/C++, .NET, Android, and iOS apps. Azure Pipelines supports hosted agents for Windows, Mac, and Linux apps without you worrying about the infrastructure for building and testing applications. You can configure CI whether your application code is stored in Azure Repos, GitHub, GitLab, or Bitbucket.
Once the application is built, you can use Azure Pipelines to target any platform or any cloud, such as AWS or GCP.
Azure Pipelines can be used to easily setup a reliable continuous delivery service for deploying your containerized apps to any Kubernetes cluster, running in any cloud.
The built-in Docker support helps you use Azure Pipelines to build and push your Docker images to the Azure Container Registry without needing to set up an infrastructure of your own. Once the container image is available in the registry, Azure Pipelines supports deploying apps to an Azure Kubernetes service cluster by using Helm or Kubernetes spec files. These files can be stored as code, using Git as the source of truth for versioning environment configurations as well as applications.
Azure Pipelines provides multiple ways of deploying to a VM using Deployment Groups or using traditional on-premises VM managers like SCVMM or VMWare.
Deployment groups represent the physical environments – for example, “Dev”, “Test”, “UAT”, and “Production”. In Azure Pipelines, you can configure a job with a set scripts to target one or more deployment groups to perform an application update, database update, or even a configuration change.
For traditional on-premises deployment, you can deploy directly to the VMs or you can use any VM manager solution such as SCVMM, for example.
The SCVMM extension for Azure Pipelines helps you provision, manage, and deploy to your on-premises infrastructure. You can dynamically provision new virtual machines in System Center Virtual Machine Manager (SCVMM) and deploy to those virtual machines using Azure Pipelines.