Compartilhar via


definição de pipeline

Um pipeline é um ou mais estágios que descrevem um processo de CI/CD.

Implementações

Implementação Descrição
pipeline : estágios Pipeline com estágios.
pipeline : estende Pipeline que estende um modelo.
pipeline : trabalhos Pipeline com trabalhos e um estágio implícito.
pipeline : etapas Pipeline com etapas e um trabalho implícito.

Observações

Um pipeline é um ou mais estágios que descrevem um processo de CI/CD. Os estágios são as principais divisões em um pipeline. As fases "Criar este aplicativo", "Executar esses testes" e "Implantar em pré-produção" são bons exemplos.

Um estágio é um ou mais trabalhos, que são unidades de trabalho atribuíveis ao mesmo computador. Você pode organizar as fases e trabalhos em grafos de dependência. Os exemplos incluem "Executar este estágio antes desse" e "Esse trabalho depende da saída desse trabalho".

Um trabalho é uma série linear de etapas. As etapas podem ser tarefas, scripts ou referências a modelos externos.

Essa hierarquia é refletida na estrutura de um arquivo YAML, como:

- Pipeline
  - Stage A
    - Job 1
      - Step 1.1
      - Step 1.2
      - ...
    - Job 2
      - Step 2.1
      - Step 2.2
      - ...
  - Stage B
    - ...

Pipelines simples não exigem todos esses níveis. Por exemplo, em um build de trabalho único, você pode omitir os contêineres para estágios e trabalhos porque há apenas etapas. E como muitas opções mostradas neste artigo não são necessárias e têm bons padrões, é improvável que suas definições YAML incluam todas elas.

Se você tiver um único estágio, poderá omitir a palavra-chave stages e especificar diretamente os trabalhos palavra-chave:

# ... other pipeline-level keywords
jobs: [ job | template ]

Se você tiver um único estágio e um único trabalho, poderá omitir as palavras-chave stages e jobs e especificar diretamente as etapas palavra-chave:

# ... other pipeline-level keywords
steps: [ script | bash | pwsh | powershell | checkout | task | template | ... ]

Use a propriedade name para configurar o número de execução do pipeline. Para obter mais informações, consulte Configurar números de execução ou de build.

pipeline: estágios

Pipeline com estágios.

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.

Propriedades

stages estágios. Obrigatório
Estágios são grupos de trabalhos que podem ser executados sem intervenção humana.

pool piscina.
Pool em que os trabalhos neste pipeline serão executados, a menos que especificado de outra forma.

name cadeia de caracteres.
número de execução do Pipeline.

appendCommitMessageToRunName booliano.
Acrescentar a mensagem de confirmação ao número de build. O padrão é verdadeiro.

trigger gatilho.
gatilhos de integração contínua.

parâmetros parameters.
parâmetros de modelo do Pipeline.

pr PR.
gatilhos de solicitação pull.

schedules agendas.
gatilhos agendados.

resources recursos.
contêineres e repositórios usados no build.

variáveis variables.
Variáveis para este pipeline.

lockBehavior cadeia de caracteres.
Solicitações de bloqueio de comportamento desse estágio devem ser exibidas em relação a outras solicitações de bloqueio exclusivas. sequencial | runLatest.

pipeline: estágios

Pipeline com estágios.

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.

Propriedades

stages estágios. Obrigatório
Estágios são grupos de trabalhos que podem ser executados sem intervenção humana.

pool piscina.
Pool em que os trabalhos neste pipeline serão executados, a menos que especificado de outra forma.

name cadeia de caracteres.
número de execução do Pipeline.

Consulte Configurar números de execução ou de build para espaços reservados permitidos.

trigger gatilho.
gatilhos de integração contínua.

parâmetros parameters.
parâmetros de modelo do Pipeline.

pr PR.
gatilhos de solicitação pull.

schedules agendas.
gatilhos agendados.

resources recursos.
contêineres e repositórios usados no build.

variáveis variables.
Variáveis para este pipeline.

lockBehavior cadeia de caracteres.
Solicitações de bloqueio de comportamento desse estágio devem ser exibidas em relação a outras solicitações de bloqueio exclusivas. sequencial | runLatest.

Exemplos

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: estende

Pipeline que estende um modelo.

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.

Propriedades

extends estende. Obrigatório
Estende um modelo.

pool piscina.
Pool em que os trabalhos neste pipeline serão executados, a menos que especificado de outra forma.

name cadeia de caracteres.
número de execução do Pipeline.

appendCommitMessageToRunName booliano.
Acrescentar a mensagem de confirmação ao número de build. O padrão é verdadeiro.

trigger gatilho.
gatilhos de integração contínua.

parâmetros parameters.
parâmetros de modelo do Pipeline.

pr PR.
gatilhos de solicitação pull.

schedules agendas.
gatilhos agendados.

resources recursos.
contêineres e repositórios usados no build.

variáveis variables.
Variáveis para este pipeline.

lockBehavior cadeia de caracteres.
Solicitações de bloqueio de comportamento desse estágio devem ser exibidas em relação a outras solicitações de bloqueio exclusivas. sequencial | runLatest.

pipeline: estende

Pipeline que estende um modelo.

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.

Propriedades

extends estende. Obrigatório
Estende um modelo.

pool piscina.
Pool em que os trabalhos neste pipeline serão executados, a menos que especificado de outra forma.

name cadeia de caracteres.
número de execução do Pipeline.

trigger gatilho.
gatilhos de integração contínua.

parâmetros parameters.
parâmetros de modelo do Pipeline.

pr PR.
gatilhos de solicitação pull.

schedules agendas.
gatilhos agendados.

resources recursos.
contêineres e repositórios usados no build.

variáveis variables.
Variáveis para este pipeline.

lockBehavior cadeia de caracteres.
Solicitações de bloqueio de comportamento desse estágio devem ser exibidas em relação a outras solicitações de bloqueio exclusivas. sequencial | runLatest.

pipeline: trabalhos

Pipeline com trabalhos e um estágio implícito.

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.

Propriedades

trabalhos jobs. Obrigatório
Trabalhos representam unidades de trabalho que podem ser atribuídas a um único agente ou servidor.

pool piscina.
Pool em que os trabalhos neste pipeline serão executados, a menos que especificado de outra forma.

name cadeia de caracteres.
número de execução do Pipeline.

appendCommitMessageToRunName booliano.
Acrescentar a mensagem de confirmação ao número de build. O padrão é verdadeiro.

trigger gatilho.
gatilhos de integração contínua.

parâmetros parameters.
parâmetros de modelo do Pipeline.

pr PR.
gatilhos de solicitação pull.

schedules agendas.
gatilhos agendados.

resources recursos.
contêineres e repositórios usados no build.

variáveis variables.
Variáveis para este pipeline.

lockBehavior cadeia de caracteres.
Solicitações de bloqueio de comportamento desse estágio devem ser exibidas em relação a outras solicitações de bloqueio exclusivas. sequencial | runLatest.

pipeline: trabalhos

Pipeline com trabalhos e um estágio implícito.

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.

Propriedades

trabalhos jobs. Obrigatório
Trabalhos representam unidades de trabalho que podem ser atribuídas a um único agente ou servidor.

pool piscina.
Pool em que os trabalhos neste pipeline serão executados, a menos que especificado de outra forma.

name cadeia de caracteres.
número de execução do Pipeline.

trigger gatilho.
gatilhos de integração contínua.

parâmetros parameters.
parâmetros de modelo do Pipeline.

pr PR.
gatilhos de solicitação pull.

schedules agendas.
gatilhos agendados.

resources recursos.
contêineres e repositórios usados no build.

variáveis variables.
Variáveis para este pipeline.

lockBehavior cadeia de caracteres.
Solicitações de bloqueio de comportamento desse estágio devem ser exibidas em relação a outras solicitações de bloqueio exclusivas. sequencial | runLatest.

Exemplos

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: etapas

Pipeline com etapas e um trabalho implícito.

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 # What to clean up before the job runs.
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.

Propriedades

steps etapas. Obrigatório
Uma lista de etapas a serem executadas neste trabalho.

strategy jobs.job.strategy .
estratégia de execução para este trabalho.

continueOnError cadeia de caracteres.
Continuar em execução mesmo em caso de falha?

pool piscina.
Pool em que os trabalhos neste pipeline serão executados, a menos que especificado de outra forma.

jobs.job.container container.
nome do recurso contêiner.

services dicionário de cadeias de caracteres.
recursos de contêiner a serem executados como um contêiner de serviço.

workspace espaço de trabalho.
opções de workspace no agente.

Para obter mais informações sobre workspaces, incluindo opções limpas, consulte o tópico do workspace no trabalhos do.

name cadeia de caracteres.
número de execução do Pipeline.

appendCommitMessageToRunName booliano.
Acrescentar a mensagem de confirmação ao número de build. O padrão é verdadeiro.

trigger gatilho.
gatilhos de integração contínua.

parâmetros parameters.
parâmetros de modelo do Pipeline.

pr PR.
gatilhos de solicitação pull.

schedules agendas.
gatilhos agendados.

resources recursos.
contêineres e repositórios usados no build.

variáveis variables.
Variáveis para este pipeline.

lockBehavior cadeia de caracteres.
Solicitações de bloqueio de comportamento desse estágio devem ser exibidas em relação a outras solicitações de bloqueio exclusivas. sequencial | runLatest.

pipeline: etapas

Pipeline com etapas e um trabalho implícito.

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 # What to clean up before the job runs.
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.

Propriedades

steps etapas. Obrigatório
Uma lista de etapas a serem executadas neste trabalho.

strategy jobs.job.strategy .
estratégia de execução para este trabalho.

continueOnError cadeia de caracteres.
Continuar em execução mesmo em caso de falha?

pool piscina.
Pool em que os trabalhos neste pipeline serão executados, a menos que especificado de outra forma.

jobs.job.container container.
nome do recurso contêiner.

services dicionário de cadeias de caracteres.
recursos de contêiner a serem executados como um contêiner de serviço.

workspace espaço de trabalho.
opções de workspace no agente.

Para obter mais informações sobre workspaces, incluindo opções limpas, consulte o tópico do workspace no trabalhos do.

name cadeia de caracteres.
número de execução do Pipeline.

trigger gatilho.
gatilhos de integração contínua.

parâmetros parameters.
parâmetros de modelo do Pipeline.

pr PR.
gatilhos de solicitação pull.

schedules agendas.
gatilhos agendados.

resources recursos.
contêineres e repositórios usados no build.

variáveis variables.
Variáveis para este pipeline.

lockBehavior cadeia de caracteres.
Solicitações de bloqueio de comportamento desse estágio devem ser exibidas em relação a outras solicitações de bloqueio exclusivas. sequencial | runLatest.

Exemplos

trigger:
- main

pool: 
  vmImage: ubuntu-latest

steps:
- script: "Hello world!"

Consulte também