pipeline definition
A pipeline is one or more stages that describe a CI/CD process.
A pipeline is one or more jobs that describe a CI/CD process.
Implementations
Implementation | Description |
---|---|
pipeline: stages | Pipeline with stages. |
pipeline: extends | Pipeline that extends a template. |
pipeline: jobs | Pipeline with jobs and one implicit stage. |
pipeline: steps | Pipeline with steps and one implicit job. |
Implementation | Description |
---|---|
pipeline: jobs | Pipeline with jobs. |
pipeline: steps | Pipeline with steps and one implicit job. |
Remarks
A pipeline is one or more stages that describe a CI/CD process. Stages are the major divisions in a pipeline. The stages "Build this app," "Run these tests," and "Deploy to preproduction" are good examples.
A stage is one or more jobs, which are units of work assignable to the same machine. You can arrange both stages and jobs into dependency graphs. Examples include "Run this stage before that one" and "This job depends on the output of that job."
A job is a linear series of steps. Steps can be tasks, scripts, or references to external templates.
This hierarchy is reflected in the structure of a YAML file like:
- Pipeline
- Stage A
- Job 1
- Step 1.1
- Step 1.2
- ...
- Job 2
- Step 2.1
- Step 2.2
- ...
- Stage B
- ...
Simple pipelines don't require all of these levels. For example, in a single-job build, you can omit the containers for stages and jobs because there are only steps. And because many options shown in this article aren't required and have good defaults, your YAML definitions are unlikely to include all of them.
A pipeline is one or more jobs that describe a CI/CD process. A job is a unit of work assignable to the same machine. You can arrange jobs into dependency graphs like "This job depends on the output of that job."
A job is a linear series of steps. Steps can be tasks, scripts, or references to external templates.
This hierarchy is reflected in the structure of a YAML file like:
- Pipeline
- Job 1
- Step 1.1
- Step 1.2
- ...
- Job 2
- Step 2.1
- Step 2.2
- ...
For single-job pipelines, you can omit the jobs container because there are only steps. And because many options shown in this article aren't required and have good defaults, your YAML definitions are unlikely to include all of them.
If you have a single stage, you can omit the stages
keyword and directly specify the jobs keyword:
# ... other pipeline-level keywords
jobs: [ job | template ]
If you have a single stage and a single job, you can omit the stages
and jobs
keywords and directly specify the steps keyword:
# ... other pipeline-level keywords
steps: [ script | bash | pwsh | powershell | checkout | task | template | ... ]
If you have a single job, you can omit the jobs
keyword and directly specify the steps keyword:
# ... other pipeline-level keywords
steps: [ script | bash | pwsh | powershell | checkout | task | template | ... ]
Use the name
property to configure the pipeline run number. For more information, see Configure run or build numbers.
pipeline: stages
Pipeline with stages.
stages: [ stage | template ] # Required. Stages are groups of jobs that can run without human intervention.
pool: string | pool # Pool where jobs in this pipeline will run unless otherwise specified.
name: string # Pipeline run number.
appendCommitMessageToRunName: boolean # Append the commit message to the build number. The default is true.
trigger: none | trigger | [ string ] # Continuous integration triggers.
parameters: [ parameter ] # Pipeline template parameters.
pr: none | pr | [ string ] # Pull request triggers.
schedules: [ cron ] # Scheduled triggers.
resources: # Containers and repositories used in the build.
builds: [ build ] # List of build resources referenced by the pipeline.
containers: [ container ] # List of container images.
pipelines: [ pipeline ] # List of pipeline resources.
repositories: [ repository ] # List of repository resources.
webhooks: [ webhook ] # List of webhooks.
packages: [ package ] # List of package resources.
variables: variables | [ variable ] # Variables for this pipeline.
lockBehavior: sequential | runLatest # Behavior lock requests from this stage should exhibit in relation to other exclusive lock requests.
Properties
stages
stages. Required.
Stages are groups of jobs that can run without human intervention.
pool
pool.
Pool where jobs in this pipeline will run unless otherwise specified.
name
string.
Pipeline run number.
appendCommitMessageToRunName
boolean.
Append the commit message to the build number. The default is true.
trigger
trigger.
Continuous integration triggers.
parameters
parameters.
Pipeline template parameters.
pr
pr.
Pull request triggers.
schedules
schedules.
Scheduled triggers.
resources
resources.
Containers and repositories used in the build.
variables
variables.
Variables for this pipeline.
lockBehavior
string.
Behavior lock requests from this stage should exhibit in relation to other exclusive lock requests. sequential | runLatest.
pipeline: stages
Pipeline with stages.
stages: [ stage | template ] # Required. Stages are groups of jobs that can run without human intervention.
pool: string | pool # Pool where jobs in this pipeline will run unless otherwise specified.
name: string # Pipeline run number.
trigger: none | trigger | [ string ] # Continuous integration triggers.
parameters: [ parameter ] # Pipeline template parameters.
pr: none | pr | [ string ] # Pull request triggers.
schedules: [ cron ] # Scheduled triggers.
resources: # Containers and repositories used in the build.
builds: [ build ] # List of build resources referenced by the pipeline.
containers: [ container ] # List of container images.
pipelines: [ pipeline ] # List of pipeline resources.
repositories: [ repository ] # List of repository resources.
webhooks: [ webhook ] # List of webhooks.
packages: [ package ] # List of package resources.
variables: variables | [ variable ] # Variables for this pipeline.
lockBehavior: sequential | runLatest # Behavior lock requests from this stage should exhibit in relation to other exclusive lock requests.
Properties
stages
stages. Required.
Stages are groups of jobs that can run without human intervention.
pool
pool.
Pool where jobs in this pipeline will run unless otherwise specified.
name
string.
Pipeline run number.
See Configure run or build numbers for allowed placeholders.
trigger
trigger.
Continuous integration triggers.
parameters
parameters.
Pipeline template parameters.
pr
pr.
Pull request triggers.
schedules
schedules.
Scheduled triggers.
resources
resources.
Containers and repositories used in the build.
variables
variables.
Variables for this pipeline.
lockBehavior
string.
Behavior lock requests from this stage should exhibit in relation to other exclusive lock requests. sequential | runLatest.
pipeline: stages
Pipeline with stages.
stages: [ stage | template ] # Required. Stages are groups of jobs that can run without human intervention.
pool: string | pool # Pool where jobs in this pipeline will run unless otherwise specified.
name: string # Pipeline run number.
trigger: none | trigger | [ string ] # Continuous integration triggers.
parameters: [ parameter ] # Pipeline template parameters.
pr: none | pr | [ string ] # Pull request triggers.
schedules: [ cron ] # Scheduled triggers.
resources: # Containers and repositories used in the build.
builds: [ build ] # List of build resources referenced by the pipeline.
containers: [ container ] # List of container images.
pipelines: [ pipeline ] # List of pipeline resources.
repositories: [ repository ] # List of repository resources.
webhooks: [ webhook ] # List of webhooks.
packages: [ package ] # List of package resources.
variables: variables | [ variable ] # Variables for this pipeline.
Properties
stages
stages. Required.
Stages are groups of jobs that can run without human intervention.
pool
pool.
Pool where jobs in this pipeline will run unless otherwise specified.
name
string.
Pipeline run number.
trigger
trigger.
Continuous integration triggers.
parameters
parameters.
Pipeline template parameters.
pr
pr.
Pull request triggers.
schedules
schedules.
Scheduled triggers.
resources
resources.
Containers and repositories used in the build.
variables
variables.
Variables for this pipeline.
pipeline: stages
Pipeline with stages.
stages: [ stage | template ] # Required. Stages are groups of jobs that can run without human intervention.
pool: string | pool # Pool where jobs in this pipeline will run unless otherwise specified.
name: string # Pipeline run number.
trigger: none | trigger | [ string ] # Continuous integration triggers.
parameters: [ parameter ] # Pipeline template parameters.
pr: none | pr | [ string ] # Pull request triggers.
schedules: [ cron ] # Scheduled triggers.
resources: # Containers and repositories used in the build.
builds: [ build ] # List of build resources referenced by the pipeline.
containers: [ container ] # List of container images.
pipelines: [ pipeline ] # List of pipeline resources.
repositories: [ repository ] # List of repository resources.
packages: [ package ] # List of package resources.
variables: variables | [ variable ] # Variables for this pipeline.
Properties
stages
stages. Required.
Stages are groups of jobs that can run without human intervention.
pool
pool.
Pool where jobs in this pipeline will run unless otherwise specified.
name
string.
Pipeline run number.
trigger
trigger.
Continuous integration triggers.
parameters
parameters.
Pipeline template parameters.
pr
pr.
Pull request triggers.
schedules
schedules.
Scheduled triggers.
resources
resources.
Containers and repositories used in the build.
variables
variables.
Variables for this pipeline.
Examples
trigger:
- main
pool:
vmImage: ubuntu-latest
stages:
- stage: CI
jobs:
- job: CIWork
steps:
- script: "Do CI work"
- stage: Test
jobs:
- job: TestWork
steps:
- script: "Do test work"
pipeline: extends
Pipeline that extends a template.
extends: # Required. Extends a template.
template: string # The template referenced by the pipeline to extend.
parameters: # Parameters used in the extend.
pool: string | pool # Pool where jobs in this pipeline will run unless otherwise specified.
name: string # Pipeline run number.
appendCommitMessageToRunName: boolean # Append the commit message to the build number. The default is true.
trigger: none | trigger | [ string ] # Continuous integration triggers.
parameters: [ parameter ] # Pipeline template parameters.
pr: none | pr | [ string ] # Pull request triggers.
schedules: [ cron ] # Scheduled triggers.
resources: # Containers and repositories used in the build.
builds: [ build ] # List of build resources referenced by the pipeline.
containers: [ container ] # List of container images.
pipelines: [ pipeline ] # List of pipeline resources.
repositories: [ repository ] # List of repository resources.
webhooks: [ webhook ] # List of webhooks.
packages: [ package ] # List of package resources.
variables: variables | [ variable ] # Variables for this pipeline.
lockBehavior: sequential | runLatest # Behavior lock requests from this stage should exhibit in relation to other exclusive lock requests.
Properties
extends
extends. Required.
Extends a template.
pool
pool.
Pool where jobs in this pipeline will run unless otherwise specified.
name
string.
Pipeline run number.
appendCommitMessageToRunName
boolean.
Append the commit message to the build number. The default is true.
trigger
trigger.
Continuous integration triggers.
parameters
parameters.
Pipeline template parameters.
pr
pr.
Pull request triggers.
schedules
schedules.
Scheduled triggers.
resources
resources.
Containers and repositories used in the build.
variables
variables.
Variables for this pipeline.
lockBehavior
string.
Behavior lock requests from this stage should exhibit in relation to other exclusive lock requests. sequential | runLatest.
pipeline: extends
Pipeline that extends a template.
extends: # Required. Extends a template.
template: string # The template referenced by the pipeline to extend.
parameters: # Parameters used in the extend.
pool: string | pool # Pool where jobs in this pipeline will run unless otherwise specified.
name: string # Pipeline run number.
trigger: none | trigger | [ string ] # Continuous integration triggers.
parameters: [ parameter ] # Pipeline template parameters.
pr: none | pr | [ string ] # Pull request triggers.
schedules: [ cron ] # Scheduled triggers.
resources: # Containers and repositories used in the build.
builds: [ build ] # List of build resources referenced by the pipeline.
containers: [ container ] # List of container images.
pipelines: [ pipeline ] # List of pipeline resources.
repositories: [ repository ] # List of repository resources.
webhooks: [ webhook ] # List of webhooks.
packages: [ package ] # List of package resources.
variables: variables | [ variable ] # Variables for this pipeline.
lockBehavior: sequential | runLatest # Behavior lock requests from this stage should exhibit in relation to other exclusive lock requests.
Properties
extends
extends. Required.
Extends a template.
pool
pool.
Pool where jobs in this pipeline will run unless otherwise specified.
name
string.
Pipeline run number.
trigger
trigger.
Continuous integration triggers.
parameters
parameters.
Pipeline template parameters.
pr
pr.
Pull request triggers.
schedules
schedules.
Scheduled triggers.
resources
resources.
Containers and repositories used in the build.
variables
variables.
Variables for this pipeline.
lockBehavior
string.
Behavior lock requests from this stage should exhibit in relation to other exclusive lock requests. sequential | runLatest.
pipeline: extends
Pipeline that extends a template.
extends: # Required. Extends a template.
template: string # The template referenced by the pipeline to extend.
parameters: # Parameters used in the extend.
pool: string | pool # Pool where jobs in this pipeline will run unless otherwise specified.
name: string # Pipeline run number.
trigger: none | trigger | [ string ] # Continuous integration triggers.
parameters: [ parameter ] # Pipeline template parameters.
pr: none | pr | [ string ] # Pull request triggers.
schedules: [ cron ] # Scheduled triggers.
resources: # Containers and repositories used in the build.
builds: [ build ] # List of build resources referenced by the pipeline.
containers: [ container ] # List of container images.
pipelines: [ pipeline ] # List of pipeline resources.
repositories: [ repository ] # List of repository resources.
webhooks: [ webhook ] # List of webhooks.
packages: [ package ] # List of package resources.
variables: variables | [ variable ] # Variables for this pipeline.
Properties
extends
extends. Required.
Extends a template.
pool
pool.
Pool where jobs in this pipeline will run unless otherwise specified.
name
string.
Pipeline run number.
trigger
trigger.
Continuous integration triggers.
parameters
parameters.
Pipeline template parameters.
pr
pr.
Pull request triggers.
schedules
schedules.
Scheduled triggers.
resources
resources.
Containers and repositories used in the build.
variables
variables.
Variables for this pipeline.
pipeline: extends
Pipeline that extends a template.
extends: # Required. Extends a template.
template: string # The template referenced by the pipeline to extend.
parameters: # Parameters used in the extend.
pool: string | pool # Pool where jobs in this pipeline will run unless otherwise specified.
name: string # Pipeline run number.
trigger: none | trigger | [ string ] # Continuous integration triggers.
parameters: [ parameter ] # Pipeline template parameters.
pr: none | pr | [ string ] # Pull request triggers.
schedules: [ cron ] # Scheduled triggers.
resources: # Containers and repositories used in the build.
builds: [ build ] # List of build resources referenced by the pipeline.
containers: [ container ] # List of container images.
pipelines: [ pipeline ] # List of pipeline resources.
repositories: [ repository ] # List of repository resources.
packages: [ package ] # List of package resources.
variables: variables | [ variable ] # Variables for this pipeline.
Properties
extends
extends. Required.
Extends a template.
pool
pool.
Pool where jobs in this pipeline will run unless otherwise specified.
name
string.
Pipeline run number.
trigger
trigger.
Continuous integration triggers.
parameters
parameters.
Pipeline template parameters.
pr
pr.
Pull request triggers.
schedules
schedules.
Scheduled triggers.
resources
resources.
Containers and repositories used in the build.
variables
variables.
Variables for this pipeline.
pipeline: jobs
Pipeline with jobs and one implicit stage.
jobs: [ job | deployment | template ] # Required. Jobs represent units of work which can be assigned to a single agent or server.
pool: string | pool # Pool where jobs in this pipeline will run unless otherwise specified.
name: string # Pipeline run number.
appendCommitMessageToRunName: boolean # Append the commit message to the build number. The default is true.
trigger: none | trigger | [ string ] # Continuous integration triggers.
parameters: [ parameter ] # Pipeline template parameters.
pr: none | pr | [ string ] # Pull request triggers.
schedules: [ cron ] # Scheduled triggers.
resources: # Containers and repositories used in the build.
builds: [ build ] # List of build resources referenced by the pipeline.
containers: [ container ] # List of container images.
pipelines: [ pipeline ] # List of pipeline resources.
repositories: [ repository ] # List of repository resources.
webhooks: [ webhook ] # List of webhooks.
packages: [ package ] # List of package resources.
variables: variables | [ variable ] # Variables for this pipeline.
lockBehavior: sequential | runLatest # Behavior lock requests from this stage should exhibit in relation to other exclusive lock requests.
Properties
jobs
jobs. Required.
Jobs represent units of work which can be assigned to a single agent or server.
pool
pool.
Pool where jobs in this pipeline will run unless otherwise specified.
name
string.
Pipeline run number.
appendCommitMessageToRunName
boolean.
Append the commit message to the build number. The default is true.
trigger
trigger.
Continuous integration triggers.
parameters
parameters.
Pipeline template parameters.
pr
pr.
Pull request triggers.
schedules
schedules.
Scheduled triggers.
resources
resources.
Containers and repositories used in the build.
variables
variables.
Variables for this pipeline.
lockBehavior
string.
Behavior lock requests from this stage should exhibit in relation to other exclusive lock requests. sequential | runLatest.
pipeline: jobs
Pipeline with jobs and one implicit stage.
jobs: [ job | deployment | template ] # Required. Jobs represent units of work which can be assigned to a single agent or server.
pool: string | pool # Pool where jobs in this pipeline will run unless otherwise specified.
name: string # Pipeline run number.
trigger: none | trigger | [ string ] # Continuous integration triggers.
parameters: [ parameter ] # Pipeline template parameters.
pr: none | pr | [ string ] # Pull request triggers.
schedules: [ cron ] # Scheduled triggers.
resources: # Containers and repositories used in the build.
builds: [ build ] # List of build resources referenced by the pipeline.
containers: [ container ] # List of container images.
pipelines: [ pipeline ] # List of pipeline resources.
repositories: [ repository ] # List of repository resources.
webhooks: [ webhook ] # List of webhooks.
packages: [ package ] # List of package resources.
variables: variables | [ variable ] # Variables for this pipeline.
lockBehavior: sequential | runLatest # Behavior lock requests from this stage should exhibit in relation to other exclusive lock requests.
Properties
jobs
jobs. Required.
Jobs represent units of work which can be assigned to a single agent or server.
pool
pool.
Pool where jobs in this pipeline will run unless otherwise specified.
name
string.
Pipeline run number.
trigger
trigger.
Continuous integration triggers.
parameters
parameters.
Pipeline template parameters.
pr
pr.
Pull request triggers.
schedules
schedules.
Scheduled triggers.
resources
resources.
Containers and repositories used in the build.
variables
variables.
Variables for this pipeline.
lockBehavior
string.
Behavior lock requests from this stage should exhibit in relation to other exclusive lock requests. sequential | runLatest.
pipeline: jobs
Pipeline with jobs and one implicit stage.
jobs: [ job | deployment | template ] # Required. Jobs represent units of work which can be assigned to a single agent or server.
pool: string | pool # Pool where jobs in this pipeline will run unless otherwise specified.
name: string # Pipeline run number.
trigger: none | trigger | [ string ] # Continuous integration triggers.
parameters: [ parameter ] # Pipeline template parameters.
pr: none | pr | [ string ] # Pull request triggers.
schedules: [ cron ] # Scheduled triggers.
resources: # Containers and repositories used in the build.
builds: [ build ] # List of build resources referenced by the pipeline.
containers: [ container ] # List of container images.
pipelines: [ pipeline ] # List of pipeline resources.
repositories: [ repository ] # List of repository resources.
webhooks: [ webhook ] # List of webhooks.
packages: [ package ] # List of package resources.
variables: variables | [ variable ] # Variables for this pipeline.
Properties
jobs
jobs. Required.
Jobs represent units of work which can be assigned to a single agent or server.
pool
pool.
Pool where jobs in this pipeline will run unless otherwise specified.
name
string.
Pipeline run number.
trigger
trigger.
Continuous integration triggers.
parameters
parameters.
Pipeline template parameters.
pr
pr.
Pull request triggers.
schedules
schedules.
Scheduled triggers.
resources
resources.
Containers and repositories used in the build.
variables
variables.
Variables for this pipeline.
pipeline: jobs
Pipeline with jobs and one implicit stage.
jobs: [ job | deployment | template ] # Required. Jobs represent units of work which can be assigned to a single agent or server.
pool: string | pool # Pool where jobs in this pipeline will run unless otherwise specified.
name: string # Pipeline run number.
trigger: none | trigger | [ string ] # Continuous integration triggers.
parameters: [ parameter ] # Pipeline template parameters.
pr: none | pr | [ string ] # Pull request triggers.
schedules: [ cron ] # Scheduled triggers.
resources: # Containers and repositories used in the build.
builds: [ build ] # List of build resources referenced by the pipeline.
containers: [ container ] # List of container images.
pipelines: [ pipeline ] # List of pipeline resources.
repositories: [ repository ] # List of repository resources.
packages: [ package ] # List of package resources.
variables: variables | [ variable ] # Variables for this pipeline.
Properties
jobs
jobs. Required.
Jobs represent units of work which can be assigned to a single agent or server.
pool
pool.
Pool where jobs in this pipeline will run unless otherwise specified.
name
string.
Pipeline run number.
trigger
trigger.
Continuous integration triggers.
parameters
parameters.
Pipeline template parameters.
pr
pr.
Pull request triggers.
schedules
schedules.
Scheduled triggers.
resources
resources.
Containers and repositories used in the build.
variables
variables.
Variables for this pipeline.
pipeline: jobs
Pipeline with jobs.
jobs: [ job ] # Required. Jobs represent units of work which can be assigned to a single agent or server.
name: string # Pipeline run number.
trigger: none | trigger | [ string ] # Continuous integration triggers.
pr: none | pr | [ string ] # Pull request triggers.
resources: # Containers and repositories used in the build.
builds: [ build ] # List of build resources referenced by the pipeline.
containers: [ container ] # List of container images.
pipelines: [ pipeline ] # List of pipeline resources.
repositories: [ repository ] # List of repository resources.
variables: variables | [ variable ] # Variables for this pipeline.
parameters: # Pipeline template parameters.
Properties
jobs
jobs. Required.
Jobs represent units of work which can be assigned to a single agent or server.
name
string.
Pipeline run number.
trigger
trigger.
Continuous integration triggers.
pr
pr.
Pull request triggers.
resources
resources.
Containers and repositories used in the build.
variables
variables.
Variables for this pipeline.
parameters
template parameters.
Pipeline template parameters.
Examples
trigger:
- main
pool:
vmImage: ubuntu-latest
jobs:
- job: PreWork
steps:
- script: "Do pre-work"
- job: PostWork
pool: windows-latest
steps:
- script: "Do post-work using a different hosted image"
pipeline: steps
Pipeline with steps and one implicit job.
steps: [ task | script | powershell | pwsh | bash | checkout | download | downloadBuild | getPackage | publish | template | reviewApp ] # Required. A list of steps to run in this job.
strategy: strategy # Execution strategy for this job.
continueOnError: string # Continue running even on failure?
pool: string | pool # Pool where jobs in this pipeline will run unless otherwise specified.
container: string | container # Container resource name.
services: # Container resources to run as a service container.
string: string # Name/value pairs
workspace: # Workspace options on the agent.
clean: outputs | resources | all # Which parts of the workspace should be scorched before fetching.
name: string # Pipeline run number.
appendCommitMessageToRunName: boolean # Append the commit message to the build number. The default is true.
trigger: none | trigger | [ string ] # Continuous integration triggers.
parameters: [ parameter ] # Pipeline template parameters.
pr: none | pr | [ string ] # Pull request triggers.
schedules: [ cron ] # Scheduled triggers.
resources: # Containers and repositories used in the build.
builds: [ build ] # List of build resources referenced by the pipeline.
containers: [ container ] # List of container images.
pipelines: [ pipeline ] # List of pipeline resources.
repositories: [ repository ] # List of repository resources.
webhooks: [ webhook ] # List of webhooks.
packages: [ package ] # List of package resources.
variables: variables | [ variable ] # Variables for this pipeline.
lockBehavior: sequential | runLatest # Behavior lock requests from this stage should exhibit in relation to other exclusive lock requests.
Properties
steps
steps. Required.
A list of steps to run in this job.
strategy
jobs.job.strategy.
Execution strategy for this job.
continueOnError
string.
Continue running even on failure?
pool
pool.
Pool where jobs in this pipeline will run unless otherwise specified.
container
jobs.job.container.
Container resource name.
services
string dictionary.
Container resources to run as a service container.
workspace
workspace.
Workspace options on the agent.
name
string.
Pipeline run number.
appendCommitMessageToRunName
boolean.
Append the commit message to the build number. The default is true.
trigger
trigger.
Continuous integration triggers.
parameters
parameters.
Pipeline template parameters.
pr
pr.
Pull request triggers.
schedules
schedules.
Scheduled triggers.
resources
resources.
Containers and repositories used in the build.
variables
variables.
Variables for this pipeline.
lockBehavior
string.
Behavior lock requests from this stage should exhibit in relation to other exclusive lock requests. sequential | runLatest.
pipeline: steps
Pipeline with steps and one implicit job.
steps: [ task | script | powershell | pwsh | bash | checkout | download | downloadBuild | getPackage | publish | template | reviewApp ] # Required. A list of steps to run in this job.
strategy: strategy # Execution strategy for this job.
continueOnError: string # Continue running even on failure?
pool: string | pool # Pool where jobs in this pipeline will run unless otherwise specified.
container: string | container # Container resource name.
services: # Container resources to run as a service container.
string: string # Name/value pairs
workspace: # Workspace options on the agent.
clean: outputs | resources | all # Which parts of the workspace should be scorched before fetching.
name: string # Pipeline run number.
trigger: none | trigger | [ string ] # Continuous integration triggers.
parameters: [ parameter ] # Pipeline template parameters.
pr: none | pr | [ string ] # Pull request triggers.
schedules: [ cron ] # Scheduled triggers.
resources: # Containers and repositories used in the build.
builds: [ build ] # List of build resources referenced by the pipeline.
containers: [ container ] # List of container images.
pipelines: [ pipeline ] # List of pipeline resources.
repositories: [ repository ] # List of repository resources.
webhooks: [ webhook ] # List of webhooks.
packages: [ package ] # List of package resources.
variables: variables | [ variable ] # Variables for this pipeline.
lockBehavior: sequential | runLatest # Behavior lock requests from this stage should exhibit in relation to other exclusive lock requests.
Properties
steps
steps. Required.
A list of steps to run in this job.
strategy
jobs.job.strategy.
Execution strategy for this job.
continueOnError
string.
Continue running even on failure?
pool
pool.
Pool where jobs in this pipeline will run unless otherwise specified.
container
jobs.job.container.
Container resource name.
services
string dictionary.
Container resources to run as a service container.
workspace
workspace.
Workspace options on the agent.
name
string.
Pipeline run number.
trigger
trigger.
Continuous integration triggers.
parameters
parameters.
Pipeline template parameters.
pr
pr.
Pull request triggers.
schedules
schedules.
Scheduled triggers.
resources
resources.
Containers and repositories used in the build.
variables
variables.
Variables for this pipeline.
lockBehavior
string.
Behavior lock requests from this stage should exhibit in relation to other exclusive lock requests. sequential | runLatest.
pipeline: steps
Pipeline with steps and one implicit job.
steps: [ task | script | powershell | pwsh | bash | checkout | download | downloadBuild | getPackage | publish | template | reviewApp ] # Required. A list of steps to run in this job.
strategy: strategy # Execution strategy for this job.
continueOnError: string # Continue running even on failure?
pool: string | pool # Pool where jobs in this pipeline will run unless otherwise specified.
container: string | container # Container resource name.
services: # Container resources to run as a service container.
string: string # Name/value pairs
workspace: # Workspace options on the agent.
clean: outputs | resources | all # Which parts of the workspace should be scorched before fetching.
name: string # Pipeline run number.
trigger: none | trigger | [ string ] # Continuous integration triggers.
parameters: [ parameter ] # Pipeline template parameters.
pr: none | pr | [ string ] # Pull request triggers.
schedules: [ cron ] # Scheduled triggers.
resources: # Containers and repositories used in the build.
builds: [ build ] # List of build resources referenced by the pipeline.
containers: [ container ] # List of container images.
pipelines: [ pipeline ] # List of pipeline resources.
repositories: [ repository ] # List of repository resources.
webhooks: [ webhook ] # List of webhooks.
packages: [ package ] # List of package resources.
variables: variables | [ variable ] # Variables for this pipeline.
Properties
steps
steps. Required.
A list of steps to run in this job.
strategy
jobs.job.strategy.
Execution strategy for this job.
continueOnError
string.
Continue running even on failure?
pool
pool.
Pool where jobs in this pipeline will run unless otherwise specified.
container
jobs.job.container.
Container resource name.
services
string dictionary.
Container resources to run as a service container.
workspace
workspace.
Workspace options on the agent.
name
string.
Pipeline run number.
trigger
trigger.
Continuous integration triggers.
parameters
parameters.
Pipeline template parameters.
pr
pr.
Pull request triggers.
schedules
schedules.
Scheduled triggers.
resources
resources.
Containers and repositories used in the build.
variables
variables.
Variables for this pipeline.
pipeline: steps
Pipeline with steps and one implicit job.
steps: [ task | script | powershell | pwsh | bash | checkout | download | downloadBuild | getPackage | publish | template | reviewApp ] # Required. A list of steps to run in this job.
strategy: strategy # Execution strategy for this job.
continueOnError: string # Continue running even on failure?
pool: string | pool # Pool where jobs in this pipeline will run unless otherwise specified.
container: string | container # Container resource name.
services: # Container resources to run as a service container.
string: string # Name/value pairs
workspace: # Workspace options on the agent.
clean: outputs | resources | all # Which parts of the workspace should be scorched before fetching.
name: string # Pipeline run number.
trigger: none | trigger | [ string ] # Continuous integration triggers.
parameters: [ parameter ] # Pipeline template parameters.
pr: none | pr | [ string ] # Pull request triggers.
schedules: [ cron ] # Scheduled triggers.
resources: # Containers and repositories used in the build.
builds: [ build ] # List of build resources referenced by the pipeline.
containers: [ container ] # List of container images.
pipelines: [ pipeline ] # List of pipeline resources.
repositories: [ repository ] # List of repository resources.
packages: [ package ] # List of package resources.
variables: variables | [ variable ] # Variables for this pipeline.
Properties
steps
steps. Required.
A list of steps to run in this job.
strategy
jobs.job.strategy.
Execution strategy for this job.
continueOnError
string.
Continue running even on failure?
pool
pool.
Pool where jobs in this pipeline will run unless otherwise specified.
container
jobs.job.container.
Container resource name.
services
string dictionary.
Container resources to run as a service container.
workspace
workspace.
Workspace options on the agent.
name
string.
Pipeline run number.
trigger
trigger.
Continuous integration triggers.
parameters
parameters.
Pipeline template parameters.
pr
pr.
Pull request triggers.
schedules
schedules.
Scheduled triggers.
resources
resources.
Containers and repositories used in the build.
variables
variables.
Variables for this pipeline.
pipeline: steps
Pipeline with steps and one implicit job.
steps: [ task | script | powershell | pwsh | bash | checkout | download | downloadBuild | publish | template ] # Required. A list of steps to run in this job.
strategy: strategy # Execution strategy for this job.
continueOnError: string # Continue running even on failure?
pool: string | pool # Pool where jobs in this pipeline will run unless otherwise specified.
container: string | container # Container resource name.
services: # Container resources to run as a service container.
string: string # Name/value pairs
workspace: # Workspace options on the agent.
clean: outputs | resources | all # Scorch the repo before fetching?
name: string # Pipeline run number.
trigger: none | trigger | [ string ] # Continuous integration triggers.
pr: none | pr | [ string ] # Pull request triggers.
resources: # Containers and repositories used in the build.
builds: [ build ] # List of build resources referenced by the pipeline.
containers: [ container ] # List of container images.
pipelines: [ pipeline ] # List of pipeline resources.
repositories: [ repository ] # List of repository resources.
variables: variables | [ variable ] # Variables for this pipeline.
parameters: # Pipeline template parameters.
Properties
steps
steps. Required.
A list of steps to run in this job.
strategy
jobs.job.strategy.
Execution strategy for this job.
continueOnError
string.
Continue running even on failure?
pool
pool.
Pool where jobs in this pipeline will run unless otherwise specified.
container
jobs.job.container.
Container resource name.
services
string dictionary.
Container resources to run as a service container.
workspace
workspace.
Workspace options on the agent.
name
string.
Pipeline run number.
trigger
trigger.
Continuous integration triggers.
pr
pr.
Pull request triggers.
resources
resources.
Containers and repositories used in the build.
variables
variables.
Variables for this pipeline.
parameters
template parameters.
Pipeline template parameters.
pipeline: steps
Pipeline with steps and one implicit job.
steps: [ task | script | powershell | pwsh | bash | checkout | download | downloadBuild | publish | template ] # Required. A list of steps to run in this job.
strategy: strategy # Execution strategy for this job.
continueOnError: string # Continue running even on failure?
pool: string | pool # Pool where jobs in this pipeline will run unless otherwise specified.
services: # Container resources to run as a service container.
string: string # Name/value pairs
workspace: # Workspace options on the agent.
clean: outputs | resources | all # Scorch the repo before fetching?
name: string # Pipeline run number.
trigger: none | trigger | [ string ] # Continuous integration triggers.
pr: none | pr | [ string ] # Pull request triggers.
resources: # Containers and repositories used in the build.
builds: [ build ] # List of build resources referenced by the pipeline.
containers: [ container ] # List of container images.
pipelines: [ pipeline ] # List of pipeline resources.
repositories: [ repository ] # List of repository resources.
variables: variables | [ variable ] # Variables for this pipeline.
parameters: # Pipeline template parameters.
Properties
steps
steps. Required.
A list of steps to run in this job.
strategy
jobs.job.strategy.
Execution strategy for this job.
continueOnError
string.
Continue running even on failure?
pool
pool.
Pool where jobs in this pipeline will run unless otherwise specified.
services
string dictionary.
Container resources to run as a service container.
workspace
workspace.
Workspace options on the agent.
name
string.
Pipeline run number.
trigger
trigger.
Continuous integration triggers.
pr
pr.
Pull request triggers.
resources
resources.
Containers and repositories used in the build.
variables
variables.
Variables for this pipeline.
parameters
template parameters.
Pipeline template parameters.
Examples
trigger:
- main
pool:
vmImage: ubuntu-latest
steps:
- script: "Hello world!"