Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você 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.
Propriedades
pipeline cadeia de caracteres. Obrigatório como primeira propriedade.
ID do recurso de pipeline. Valores aceitáveis: [-_A-Za-z0-9]*.
project cadeia de caracteres.
Project para a origem; o padrão do projeto atual.
source cadeia de caracteres.
Nome do pipeline que produz o artefato. Se o pipeline estiver contido em uma pasta, inclua o nome da pasta, incluindo o \à esquerda, por exemplo, \security pipelines\security-lib-ci. Essa 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 deverá ser especificado se houver vários pipelines com o mesmo nome.
version cadeia de caracteres.
o número de execução do pipeline para escolher o artefato, padrão para o pipeline mais recente bem-sucedido em todos os estágios; usado apenas para gatilhos manuais ou agendados.
branch cadeia de caracteres.
Branch para escolher o artefato. Opcional; padrões para todos os branches, usados apenas para gatilhos manuais ou agendados.
tags lista de cadeias de caracteres.
Lista de marcas necessárias no pipeline para a retirada de artefatos padrão. Opcional; usado apenas para gatilhos manuais ou agendados.
trigger
resources.pipelines.pipeline.trigger.
Especificar nenhum para desabilitar, true para incluir todos os branches ou usar a sintaxe completa, conforme descrito nos exemplos a seguir.
Observações
Observação
pipeline: especifica o nome do recurso de pipeline. Use o rótulo definido aqui ao fazer referência ao recurso de pipeline de outras partes do pipeline, como ao usar variáveis de recurso de pipeline ou baixar artefatos.
Para obter mais informações sobre stages e tags no gatilho de recurso de pipeline, consulte gatilhos de conclusão de pipeline.
Sintaxe do gatilho de recurso de pipeline
Observação
Os gatilhos de conclusão de pipeline usam o branch padrão para compilações manuais e agendadas configuração para determinar qual versão do branch de um pipeline yaml filtra para avaliar ao determinar se um pipeline deve ser executado como resultado da conclusão de outro pipeline. Por padrão, essa configuração aponta para o branch padrão do repositório. Para obter mais informações, consulte Gatilhos de conclusão do pipeline – considerações de branch.
Há várias maneiras de definir gatilhos em um recurso de pipeline. Para disparar 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 branches a serem incluídos ou como uma lista de branches a serem incluídos combinados com uma lista de branches a serem excluídos.
Para especificar uma lista de branches a serem incluídos e excluídos, 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 branches a serem incluídas, sem exclusões, omita o valor exclude ou use a sintaxe a seguir para especificar a lista de branches 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 marcas, 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 do pipeline.
Importante
Quando você define um gatilho de recurso, se o recurso de pipeline é do mesmo repositório do pipeline atual, o gatilho segue o mesmo branch e confirmação no qual o evento é gerado. No entanto, se o recurso de pipeline for de um repositório diferente, o pipeline atual será disparado na ramificação especificada pelo branch Padrão para compilações manuais e agendadas configuração. Para obter mais informações, consulte considerações do Branch para gatilhos de conclusão de pipeline.
Metadados de recurso 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 variáveis predefinidas a seguir. Essas variáveis estão disponíveis para o pipeline em runtime e, portanto, não podem ser usadas em expressões de modelo, que são avaliadas no 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 estiver 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 podem ser especificados se desejado.
Substitua <Alias> pela ID do recurso de pipeline. Para o recurso de pipeline a seguir, a variável a ser acessada runID é resources.pipeline.source-pipeline.runID.
resources:
pipelines:
- pipeline: source-pipeline
source: TriggeringPipeline
Quando um pipeline é disparado 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 bash tarefa gera o projectName recurso do pipeline chamado source-pipeline, que é FabrikamFiber.
A segunda tarefa bash gera 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 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
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 se tornam maiúsculas e os períodos se transformam 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 variável, consulte Noções básicas sobrede sintaxe variável, 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/*
Consulte também
- Adicionar recursos a uma de pipeline