Azure DevOps Services
This article presents the key concepts and components that make up Azure Pipelines. Understanding the basic terms and parts of a pipeline can help you more effectively build, test, and deploy your code.
Key concepts overviewThe following graphic shows the main components and actions of a pipeline.
Dave Jarvis contributed to this graphic.
The following terms define key Azure Pipelines components and processes.
AgentsAn agent is computing infrastructure with installed agent software that runs one pipeline job at a time. For example, a job could run on a Microsoft-hosted Ubuntu agent. For more information about different types of agents and how to use them, see Azure Pipelines agents.
A limited number of task steps can run without using an agent. For more information, see Agentless jobs supported tasks.
Approvals and checksApprovals and checks define a set of validations required before a pipeline or stage runs. Manual approval is a common check for controlling deployments to production environments. If an environment has checks and approvals configured, pipeline runs pause until all checks and approvals complete successfully.
ArtifactsArtifacts are collections of files or packages published by a run and made available to subsequent pipeline tasks like distribution or deployment. Artifacts in Azure Pipelines are different from Azure Artifacts, the part of Azure DevOps that lets you store, manage, and share packages with a single feed.
Continuous deliveryContinuous delivery (CD) is a process for building, testing, and deploying code to one or more test and production environments. Deploying and testing in multiple stages helps drive quality by catching errors early and often.
Automated CD release pipelines can consume artifacts from continuous integration (CI) pipelines to release new versions and fixes. Constant monitoring and alerting provide visibility into the CD process.
Continuous integrationContinuous integration (CI) is a process that runs automated tests and builds on a schedule, whenever code is pushed, or both. CI simplifies testing and building code, and helps catch problems early in the development cycle when they're easier and faster to fix. CI pipelines produce artifacts that CD pipelines can use for automatic deployments.
DeploymentFor YAML pipelines, a deployment job is a collection of steps that run sequentially against an environment. Deployment jobs can use strategies like runOnce
, rolling
, and canary
. For more information, see Deployment jobs.
In Classic pipelines, deployment runs the tasks for the deployment stage, which can include running automated tests, deploying build artifacts, and other specified actions.
Deployment groupsIn Azure Pipelines Classic release pipelines, a deployment group is a logical group of deployment target machines. Every target server in the deployment group requires a deployment agent installed. For more information, see Provision agents for deployment groups.
EnvironmentsAn environment is a collection of resources like virtual machines, containers, web apps, or services where you deploy your application. Pipelines can deploy to one or more environments after completing a build and running tests.
JobsA job represents an execution boundary of a set of steps that run sequentially on the same agent. Pipeline stages can include one or more jobs. Jobs don't always run sequentially in stages by default.
Jobs are useful for running a series of steps in different environments. For example, your build stage could contain one job for building an x86
configuration and another job for building an x64
configuration.
Each job runs on an agent that runs all the steps in that job. A limited number of task steps support agentless jobs that run without an agent. For more information, see Agentless jobs supported tasks.
LibraryThe Azure Pipelines Library includes secure files and variable groups. Secure files are a way to store files and share them across pipelines. Variable groups store values and secrets that you can pass into a YAML pipeline or make available across multiple pipelines.
PipelinesAn Azure Pipelines pipeline defines a workflow for build, test, and deployment tasks, from running a batch file to automating the CI/CD process for an app. A pipeline consists of one or more stages that contain jobs and steps.
You can define pipelines by using YAML-based or Classic editors. For more information, see YAML vs Classic pipelines.
ReleasesA release is a versioned set of artifacts specified in a Classic pipeline. The release includes a snapshot of all the information needed to run the release pipeline, such as stages, tasks, triggers, approval policies, and deployment options. You can create a release manually, with a deployment trigger, or with the REST API.
In YAML pipelines, the build and release stages are all included in the multistage pipeline definition.
RunsA run represents one execution of a pipeline. During a run, Azure Pipelines first processes the pipeline and then sends the run to one or more agents to run the jobs. The run collects the logs from running the steps and the results of running tests. For more information, see Pipeline runs.
ScriptsA script runs command line, PowerShell, or Bash code as a step in your pipeline. You can write cross-platform scripts for macOS, Linux, and Windows. Unlike a prepackaged task, a script is custom code that's specific to your pipeline.
StagesA stage is a logical boundary in a pipeline that can mark separation of concerns, for example build, test, and production. Each stage contains one or more jobs. Multiple stages in a pipeline run one after another by default. You can specify other conditions for when a stage runs.
Defining stages in a pipeline is useful when:
A step is the smallest building block of a pipeline. By default, steps run one after another in a job. A step can either be a script or a task.
TasksA task is a prepackaged script or procedure abstracted with a set of inputs to define automation in a pipeline. For available tasks, see the Azure Pipelines task reference. For information on creating custom tasks, see Add a custom pipelines task extension.
TriggersA trigger is an event that causes a pipeline to run. You can trigger a pipeline manually or to run on a set schedule. You can also trigger a pipeline to run automatically upon a push to a repository, upon the completion of another build, or under other conditions. For more information, see Specify events that trigger pipelines and Classic release triggers.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4