MMS • RSS
Microsoft has announced Azure Pipelines, their new CI/CD service which is part of the Azure DevOps offering. Azure Pipelines allows to build, test, and deploy workloads and works together with a diverse range of languages, project types, and platforms.
Being the successor of Visual Studio Team Services (VSTS), Azure DevOps consists of several components; Azure Boards, Azure Repos, Azure Test Plans, Azure Artifacts, and Azure Pipelines. Consequently, Azure DevOps provides an end-to-end service to share code, track work, and ship solutions similar to other services such as the Atlassian Stack. These components are each a link in the Azure DevOps chain, and Azure Pipelines fulfills the role of CI/CD pipeline. Furthermore, Azure Pipelines has all the features which used to be available in VSTS and supplements these with new capabilities.
- Azure Pipelines is a stand-alone service, which permits acquirement and usage separately from other Azure DevOps components.
- The GitHub marketplace allows to obtain and configure new pipelines directly.
- Better integration with GitHub, including pull-request builds and tracking commits with their associated issues.
- Native support for containers using container jobs.
- Open source projects can apply Azure Pipelines for free to use for open source.
- Private plans have more flexible free usage restrictions in Azure Pipelines than on VSTS.
When using Azure Pipelines in a private project, the free offering now includes 1800 minutes of cloud-hosted CI/CD per month, and unlimited minutes when running on a self-hosted agent. Subsequently, additional parallel jobs, which include unlimited minutes, are available for purchase from Azure DevOps and the GitHub Marketplace. With Azure Pipelines, integration is possible with various code repositories such as Azure Repos, GitHub, Bitbucket, and others. Moreover, open source projects can use Azure Pipelines entirely for free, with unlimited CI/CD minutes and up to 10 parallel jobs. According to Sam Cogan, who is a solution architect and Azure MVP, this is useful for open source projects.
By enabling Azure Pipelines for your GitHub projects, you can run builds for as many minutes as you want, for free. The only limitation is that you can only have 10 concurrent builds running at the same time. This is a great new feature for open source projects.
On the deployment side, Azure DevOps is flexible as well, allowing to deploy to Linux, Windows, and macOS, as well as across cloud providers, including Azure, AWS, and Google Cloud Platform. These deployments can land on several target systems, using the built-in deployment tasks for serverless, container registries like Docker Hub and Azure Container Registry, virtual machines, and Kubernetes.
The jobs for Azure Pipelines are created in YAML and produced using a visual designer or by following the schema reference, while a Visual Studio Code extension and web editor are in the works. Additionally, it is possible to add multiple jobs to a pipeline, granting the capability to partition pipelines into sections. This way it is possible to execute tasks conditionally, target different agents, or to implement a fan-in / fan-out pattern.
To start with this new service, you will first need to sign up for Azure Pipelines or Azure DevOps, after which you point to your source repository and choose a template. In his article, Sam Cogan gives a detailed explanation, where he explains the complete process.