Note

Access to this page requires authorization. You can try signing in or .

Access to this page requires authorization. You can try .

YAML vs Classic Pipelines

Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022

Azure Pipelines enables developers to automate a wide variety of tasks, ranging from executing a batch file to setting up a complete continuous integration (CI) and continuous delivery (CD) solution for their applications.

Azure Pipelines supports a wide range of languages, platforms, and tools, and offers two types of pipelines to choose from: YAML-based and Classic pipeline editors.

Note

If you are new to Azure Pipelines, it is recommended to start with YAML pipelines. For existing Classic pipelines, you can choose to continue using them or migrate to YAML pipelines.

Define pipelines using YAML

Your pipeline configuration resides in a YAML file named azure-pipelines.yml, alongside your application.

  • The YAML file is versioned alongside your application code, adhering to the same branching structure.

  • Each branch can customize the pipeline by editing the azure-pipelines.yml file.

  • Keeping the pipeline configuration in version control ensures that any changes that cause issues or unexpected outcomes can be easily identified within your codebase.

For instructions, see Create your first pipeline for a step by step guide to building a sample application from a Git repository.

Define pipelines using the Classic interface

Classic pipelines are created in the Azure DevOps web portal with the Classic user interface editor. You can define a pipeline to build, test your code, and then publish your artifact (binary). Additionally, you can define a release pipeline to consume your binary (artifact) and deploy it to specific targets.

For instructions, see build and deploy for step by step guides to building and deploying your application with Classic Pipelines.

Feature availability

Feature Description YAML Classic Pipeline Classic Release
Agents A software component that runs on a virtual machine or a physical machine and is responsible for executing the tasks defined in your Azure Pipelines. 👁 Image
doc
👁 Image
doc
👁 Image
doc
Approvals Control your deployment workflow by requiring designated approvers to approve before deploying to a stage. 👁 Image
doc
👁 Image
👁 Image
doc
Artifacts Download and publish your binaries and various types of packages to different destinations. 👁 Image
doc
👁 Image
doc
👁 Image
doc
Caching Reduce build time by caching and reusing dependencies from previous runs. 👁 Image
doc
👁 Image
doc
👁 Image
Conditions Specify conditions under which a step, job, or stage should run. 👁 Image
doc
👁 Image
doc
👁 Image
doc
Container jobs Specify jobs to run in a container. 👁 Image
doc
👁 Image
👁 Image
Demands Ensure that the capabilities your pipeline needs are present on the running agent. 👁 Image
doc
👁 Image
doc
👁 Image
doc
Dependencies Specify a requirement that must be met in order to run the next stage. 👁 Image
doc
👁 Image
👁 Image
doc
Deployment groups & Environments Deployment groups (Classic): Define a set of target machines each equipped with a deployment agent.
Environments (YAML): A collection of resources targeted for deployment.
👁 Image
doc
👁 Image
👁 Image
doc
Deployment jobs A collection of deployment steps that are run sequentially against the environment. 👁 Image
doc
👁 Image
👁 Image
Gates Automate release controls by evaluating health signals from external services before completing a deployment. 👁 Image
👁 Image
👁 Image
doc
Jobs A series of sequential steps that form the smallest unit of work that can be scheduled to run. 👁 Image
doc
👁 Image
doc
👁 Image
doc
Library A collection of assets that can be used in your Azure Pipelines. The Library contains two types of assets: Variable groups and Secure files. 👁 Image
doc
👁 Image
doc
👁 Image
doc
Service connections Enable connection to an external service required to execute tasks in a job. 👁 Image
doc
👁 Image
doc
👁 Image
doc
Service containers Enable you to manage the lifecycle of a containerized service. most commonly used with container jobs. 👁 Image
doc
👁 Image
👁 Image
Stages Organize jobs within a pipeline. 👁 Image
doc
👁 Image
👁 Image
doc
Task groups Encapsulate a sequence of tasks into a single reusable task. 👁 Image
👁 Image
doc
👁 Image
doc
Tasks The building blocks that define the steps that make up a pipeline job. 👁 Image
doc
👁 Image
doc
👁 Image
doc
Templates Define reusable content, logic, and parameters. 👁 Image
doc
👁 Image
👁 Image
Triggers Define the event that causes a pipeline to run. 👁 Image
doc
👁 Image
doc
👁 Image
doc
Variables A placeholder for values that can be used throughout your pipeline's execution. 👁 Image
doc
👁 Image
doc
👁 Image
doc
Variable groups Use to store values and secrets that you want to manage and share across multiple pipelines. 👁 Image
doc
👁 Image
doc
👁 Image
doc
Feature Description YAML Classic Pipeline Classic Release
Agents A software component that runs on a virtual machine or a physical machine and is responsible for executing the tasks defined in your Azure Pipelines. 👁 Image
doc
👁 Image
doc
👁 Image
doc
Approvals Control your deployment workflow by requiring designated approvers to approve before deploying to a stage. 👁 Image
doc
👁 Image
👁 Image
doc
Artifacts Download and publish your binaries and various types of packages to different destinations. 👁 Image
doc
👁 Image
doc
👁 Image
doc
Conditions Specify conditions under which a step, job, or stage should run. 👁 Image
doc
👁 Image
doc
👁 Image
doc
Container jobs Specify jobs to run in a container. 👁 Image
doc
👁 Image
👁 Image
Demands Ensure that the capabilities your pipeline needs are present on the running agent. 👁 Image
doc
👁 Image
doc
👁 Image
doc
Dependencies Specify a requirement that must be met in order to run the next stage. 👁 Image
doc
👁 Image
👁 Image
doc
Deployment groups & Environments Deployment groups (Classic): Define a set of target machines each equipped with a deployment agent.
Environments (YAML): A collection of resources targeted for deployment.
👁 Image
doc
👁 Image
👁 Image
doc
Deployment jobs A collection of deployment steps that are run sequentially against the environment. 👁 Image
doc
👁 Image
👁 Image
Gates Automate release controls by evaluating health signals from external services before completing a deployment. 👁 Image
👁 Image
👁 Image
doc
Jobs A series of sequential steps that form the smallest unit of work that can be scheduled to run. 👁 Image
doc
👁 Image
doc
👁 Image
doc
Library A collection of assets that can be used in your Azure Pipelines. The Library contains two types of assets: Variable groups and Secure files. 👁 Image
doc
👁 Image
doc
👁 Image
doc
Service connections Enable connection to an external service required to execute tasks in a job. 👁 Image
doc
👁 Image
doc
👁 Image
doc
Stages Organize jobs within a pipeline. 👁 Image
doc
👁 Image
👁 Image
doc
Task groups Encapsulate a sequence of tasks into a single reusable task. 👁 Image
👁 Image
doc
👁 Image
doc
Tasks The building blocks that define the steps that make up a pipeline job. 👁 Image
doc
👁 Image
doc
👁 Image
doc
Templates Define reusable content, logic, and parameters. 👁 Image
doc
👁 Image
👁 Image
Triggers Define the event that causes a pipeline to run. 👁 Image
doc
👁 Image
doc
👁 Image
doc
Variables A placeholder for values that can be used throughout your pipeline's execution. 👁 Image
doc
👁 Image
doc
👁 Image
doc
Variable groups Use to store values and secrets that you want to manage and share across multiple pipelines. 👁 Image
doc
👁 Image
doc
👁 Image
doc

Next steps


Feedback

Was this page helpful?

Additional resources