What is Azure Pipelines?
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
Azure Pipelines is the part of Azure DevOps that automatically builds, tests, and deploys code projects. Azure Pipelines combines continuous integration, continuous testing, and continuous delivery to build, test, and deliver your code to any destination. Azure Pipelines supports all major languages and project types.
Azure Pipelines benefits
Azure Pipelines provides a quick, easy, and safe way to automate building your projects with consistent and quality code that's readily available to users.
Azure Pipelines offers the following benefits:
- Works with any language or platform.
- Deploys to different types of targets at the same time.
- Integrates with Azure deployments.
- Builds on Windows, Linux, or Mac machines.
- Integrates with GitHub.
- Works with open-source projects.
Prerequisites
To use Azure Pipelines, you must:
- Have an Azure DevOps organization. If you don't have one, you can create an organization.
- Store your source code in a version control system.
- Download a build agent and install it on a build server.
Languages and applications
Azure Pipelines offers tasks to build, test, and deploy Node.js, Python, Java, PHP, Ruby, C#, C++, Go, XCode, .NET, Android, and iOS applications. You can run these apps in parallel on Linux, macOS, and Windows.
There are tasks to run tests in many testing frameworks and services. You can also run command line, PowerShell, or shell scripts in your automation.
Continuous integration
Continuous integration (CI) is a practice development teams use to automate merging and testing code. CI helps to catch bugs early in the development cycle, making them less expensive to fix.
To ensure quality, Azure Pipelines executes automated tests as part of the CI process. Azure Pipelines CI systems produce artifacts and feed them to release processes to drive continuous deployments.
The Build service in Azure DevOps Server helps you set up and manage CI for your applications.
Version control systems
Azure Pipelines requires your source code to be in a version control system. Azure Pipelines supports several forms of version control, including Azure Repos Git, GitHub, and TFVC. You can set up Azure Pipelines to automatically build and validate any changes you push to your version control repository.
Continuous testing
Azure Pipelines can automate build-deploy-test workflows in your chosen technologies and frameworks, whether your app is on-premises or in the cloud. You can test your changes continuously in a fast, scalable, and efficient manner. Continuous testing lets you:
Maintain quality and find problems during development. You can find problems earlier by running tests automatically with each build, ensuring your app still works after every checkin and build.
Use any test type and test framework. Choose your preferred test technologies.
View rich analytics and reporting. When your build is done, you can review your test results to resolve any issues. Actionable build-on-build reports let you instantly see if your builds are getting healthier. Detailed and customizable test results measure the quality of your app.
Continuous delivery
Continuous delivery (CD) is the process of building, testing, and deploying code to one or more test or production environments. Deploying and testing in multiple environments optimizes quality.
Azure Pipelines CD systems produce deployable artifacts, including infrastructure and apps. Automated release processes consume these artifacts to release new versions and fixes to existing systems. Systems that continually monitor and send alerts drive visibility into the CD process.
Deployment targets
Use Azure Pipelines to deploy your code to multiple targets. Targets include virtual machines, environments, containers, on-premises and cloud platforms, and platform-as-a-service (PaaS) services. You can also publish your mobile application to a store.
Once you have CI in place, you can create a release definition to automate the deployment of your application to one or more environments. The automation process is defined as a collection of tasks.
Package formats
To produce packages that external users can consume, you can integrate package management into your CI/CD pipelines. You can publish NuGet, npm, Maven, or Python packages as artifacts to the built-in Azure Pipelines package management repository, or any other package management repository you choose. For more information about Azure Artifacts, see Artifacts in Azure Pipelines.
Azure Pipelines pricing
If you use public projects, Azure Pipelines is free, but you need to request the free grant of parallel jobs. Existing organizations and projects don't need to request this grant. For more information, see What is a public project.
If you use private projects, you can run up to 1,800 minutes or 30 hours of pipeline jobs free every month.
For more information, see Pricing based on parallel jobs and Pricing for Azure DevOps Services.
For five or fewer active users, Azure DevOps Express is free, simple to set up, and installs on both client and server operating systems. It supports all the same features as Azure DevOps Server 2019.
For more information, see Pricing for Azure DevOps Server.