Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Se você tiver um Pipeline do Azure que produz artefatos, seu pipeline poderá consumir os artefatos definindo um recurso de pipeline. No Azure DevOps Server 2020 e superior, você também pode habilitar gatilhos de conclusão de pipeline usando um recurso de pipeline.
pipelines:
- pipeline: string # Required as first property. ID of the pipeline resource.
project: string # Project for the source; defaults to current project.
source: string # Name of the pipeline that produces the artifact.
version: string # The pipeline run number to pick the artifact, defaults to latest pipeline successful across all stages; used only for manual or scheduled triggers.
branch: string # Branch to pick the artifact. Optional; defaults to all branches, used only for manual or scheduled triggers.
tags: [ string ] # List of tags required on the pipeline to pickup default artifacts. Optional; used only for manual or scheduled triggers.
trigger: # Specify none to disable, true to include all branches, or use the full syntax as described in the following examples.
enabled: boolean # Whether the trigger is enabled; defaults to true.
branches: branches # Branches to include or exclude for triggering a run.
stages: [ string ] # List of stages that when matched will trigger the pipeline.
tags: [ string ] # List of tags that when matched will trigger the pipeline.
pipelines:
- pipeline: string # Required as first property. ID of the pipeline resource.
project: string # Project for the source; defaults to current project.
source: string # Name of the pipeline that produces the artifact.
version: string # The pipeline run number to pick the artifact, defaults to latest pipeline successful across all stages; used only for manual or scheduled triggers.
branch: string # Branch to pick the artifact. Optional; defaults to all branches, used only for manual or scheduled triggers.
tags: [ string ] # List of tags required on the pipeline to pickup default artifacts. Optional; used only for manual or scheduled triggers.
trigger: # Specify none to disable, true to include all branches, or use the full syntax as described in the following examples.
enabled: boolean # Whether the trigger is enabled; defaults to true.
branches: branches # Branches to include or exclude for triggering a run.
Definições que fazem referência a esta definição: resources.pipelines
Propriedades
pipeline
string. Obrigatório como primeira propriedade.
ID do recurso de pipeline. Valores aceitáveis: [-_A-Za-z0-9]*.
project
string.
Projeto para a fonte; padrão para o projeto atual.
source
string.
Nome do pipeline que produz o artefato. Se o pipeline estiver contido numa pasta, inclua o nome da pasta, incluindo o inicial \
, por exemplo \security pipelines\security-lib-ci
. Esta propriedade não diferencia maiúsculas de minúsculas e não precisa de aspas se o nome incluir espaços. O caminho da pasta deve ser especificado se houver vários pipelines com o mesmo nome.
version
string.
O número de execução do pipeline para escolher o artefato, assume como padrão o pipeline mais recente bem-sucedido em todos os estágios; usado apenas para gatilhos manuais ou agendados.
branch
string.
Ramificação para escolher o artefato. Opcional; padrão para todas as ramificações, usado apenas para gatilhos manuais ou agendados.
tags
lista de cadeias de caracteres.
Lista de tags necessárias no pipeline para coletar artefatos padrão. Opcional; usado apenas para gatilhos manuais ou agendados.
trigger
resources.pipelines.pipeline.trigger.
Especifique nenhuma para desabilitar, true para incluir todas as ramificações ou use a sintaxe completa conforme descrito nos exemplos a seguir.
Observações
Observação
pipeline:
especifica o nome do recurso de pipeline. Utilize a etiqueta definida aqui ao referir-se ao recurso de pipeline a partir de outras partes do pipeline, como ao usar variáveis de recurso de pipeline ou ao baixar artefatos.
Para obter mais informações sobre stages
e tags
no gatilho de recurso de pipeline, consulte gatilhos de conclusão de pipeline.
Para obter mais informações sobre gatilhos de recursos de pipeline, consulte gatilhos de conclusão de pipeline.
Sintaxe de gatilho de recurso de pipeline
Observação
Os gatilhos de conclusão de pipeline usam a configuração da ramificação padrão para compilações manuais e agendadas para determinar qual versão da ramificação de um pipeline YAML deve ser usada para avaliar os filtros de ramificação ao decidir se um pipeline deve ser executado como resultado da conclusão de outro pipeline. Por padrão, essa configuração aponta para a ramificação padrão do repositório. Para obter mais informações, consulte Gatilhos de conclusão de pipeline - considerações de ramificação.
Há várias maneiras de definir gatilhos em um recurso de pipeline. Para acionar uma execução quando qualquer execução do pipeline referenciado for concluída, use trigger: true
.
resources:
pipelines:
- pipeline: source-pipeline
source: TriggeringPipeline
trigger: true
Para desabilitar o gatilho de recurso de pipeline, especifique um valor de none
.
resources:
pipelines:
- pipeline: source-pipeline
source: TriggeringPipeline
trigger: none
Para configurar filtros de ramificação, use a sintaxe completa. Os filtros de ramificação podem ser especificados como uma lista de ramificações a serem incluídas ou como uma lista de ramificações a serem incluídas combinadas com uma lista de ramificações a serem excluídas.
Para especificar uma lista de ramificações a serem incluídas e excluídas, use a sintaxe trigger
a seguir.
resources:
pipelines:
- pipeline: source-pipeline
source: TriggeringPipeline
trigger:
branches:
include:
- main
- develop
- features/*
exclude:
- features/experimental/*
Para especificar uma lista de ramificações a serem incluídas, sem exclusões, omita o valor exclude
ou use a sintaxe a seguir para especificar a lista de ramificações a serem incluídas diretamente após branches
.
resources:
pipelines:
- pipeline: source-pipeline
source: TriggeringPipeline
trigger:
branches:
- main
- develop
Para filtrar por estágios ou tags, use a sintaxe trigger
a seguir.
resources:
pipelines:
- pipeline: source-pipeline
source: TriggeringPipeline
trigger:
branches: # Branches to include
tags: # List of tags that when matched will trigger the pipeline.
- release25
stages: # List of stages that when complete will trigger the pipeline.
- build
Para obter mais informações, consulte Gatilhos de conclusão de pipeline.
Importante
Quando você define um gatilho de recurso, se seu recurso de pipeline for do mesmo repositório que o pipeline atual, o acionamento segue a mesma ramificação e confirmação na qual o evento é gerado. Mas se o recurso de pipeline for de um repositório diferente, o pipeline atual será acionado na ramificação especificada pela ramificação Padrão para compilações manuais e agendadas configuração. Para obter mais informações, consulte Considerações sobre ramificação para gatilhos de conclusão de pipeline.
Metadados de recursos de pipeline como variáveis predefinidas
Em cada execução, os metadados de um recurso de pipeline estão disponíveis para todos os trabalhos como as seguintes variáveis predefinidas. Essas variáveis estão disponíveis para seu pipeline em tempo de execução e, portanto, não podem ser usadas em expressões de modelo , que são avaliadas em tempo de compilação do pipeline.
resources.pipeline.<Alias>.projectName
resources.pipeline.<Alias>.projectID
resources.pipeline.<Alias>.pipelineName
resources.pipeline.<Alias>.pipelineID
resources.pipeline.<Alias>.runName
resources.pipeline.<Alias>.runID
resources.pipeline.<Alias>.runURI
resources.pipeline.<Alias>.sourceBranch
resources.pipeline.<Alias>.sourceCommit
resources.pipeline.<Alias>.sourceProvider
resources.pipeline.<Alias>.requestedFor
resources.pipeline.<Alias>.requestedForID
Importante
projectName
não estará presente nas variáveis se o recurso de pipeline não tiver um valor de project
especificado. A propriedade project
é opcional para recursos de pipeline que fazem referência a um pipeline no mesmo projeto, mas pode ser especificada se desejado.
Substitua <Alias>
pela ID do recurso de pipeline. Para o recurso de pipeline a seguir, a variável para acessar runID
é resources.pipeline.source-pipeline.runID
.
resources:
pipelines:
- pipeline: source-pipeline
source: TriggeringPipeline
Quando um pipeline é acionado por um de seus recursos de pipeline, as variáveis a seguir são definidas além das variáveis na lista anterior.
Variável | Valor |
---|---|
Build.Reason |
ResourceTrigger |
Resources.TriggeringAlias |
O nome do recurso de pipeline, como source-pipeline do exemplo anterior. |
Resources.TriggeringCategory |
pipeline |
O exemplo a seguir tem dois recursos de pipeline.
resources:
pipelines:
- pipeline: source-pipeline
source: PipelineTriggerSource
project: FabrikamFiber
trigger: true
- pipeline: other-project-pipeline
source: PipelineTriggerFromOtherProject
project: FabrikamRepo
trigger: true
trigger: none # Only trigger with pipeline resource trigger
pool:
vmImage: ubuntu-latest
- bash: echo $(resources.pipeline.source-pipeline.projectName)
- bash: printenv | sort
Quando esse pipeline é executado, a primeira tarefa bash
produz o projectName
do recurso de pipeline chamado source-pipeline
, que é FabrikamFiber
.
A segunda tarefa bash
produz todas as variáveis de ambiente disponíveis para a tarefa, incluindo as variáveis de recurso de pipeline descritas nesta seção. A listagem de variáveis de ambiente normalmente não é feita em um pipeline de produção, mas pode ser útil para a solução de problemas. Neste exemplo, há dois recursos de pipeline e a saída contém as duas linhas a seguir.
RESOURCES_PIPELINE_OTHER-PROJECT-PIPELINE_PROJECTNAME=FabrikamRepo
RESOURCES_PIPELINE_SOURCE-PIPELINE_PROJECTNAME=FabrikamFiber
Observação
As variáveis definidas pelo sistema e pelo usuário são injetadas como variáveis de ambiente para sua plataforma. Quando as variáveis se convertem em variáveis de ambiente, os nomes das variáveis tornam-se maiúsculas e os períodos transformam-se em sublinhados. Por exemplo, o nome da variável any.variable
torna-se ANY_VARIABLE
.
Para obter mais informações sobre como usar variáveis e sintaxe de variáveis, consulte Compreender a sintaxe de variáveis, Especificar condiçõese Expressões.
Você pode consumir artefatos de um recurso de pipeline usando uma tarefa download
. Consulte a palavra-chave steps.download.
Exemplos
resources:
pipelines:
- pipeline: MyAppA
source: MyCIPipelineA
- pipeline: MyAppB
source: MyCIPipelineB
trigger: true
- pipeline: MyAppC
project: DevOpsProject
source: MyCIPipelineC
branch: releases/M159
version: 20190718.2
trigger:
branches:
include:
- main
- releases/*
exclude:
- users/*