Partilhar via


DownloadPipelineArtifact@2 - Transferir a tarefa Artefactos de Pipeline v2

Utilize esta tarefa para transferir artefactos de pipeline de fases anteriores neste pipeline ou de outro pipeline.

Nota

Para obter mais informações, incluindo comandos da CLI do Azure, veja transferir artefactos.

Utilize esta tarefa para transferir artefactos de pipeline de fases anteriores neste pipeline ou de outro pipeline.

Importante

Esta tarefa é suportada apenas nos Serviços de DevOps do Azure. Se o utilizar no Azure DevOps Server, receberá uma mensagem de erro semelhante a Pipeline Artifact Task is not supported in on-premises. Please use Build Artifact Task instead. Utilizar Transferir Artefactos de Compilação se estiver a utilizar Azure DevOps Server ou TFS 2018.

Syntax

# Download Pipeline Artifacts v2
# Download build and pipeline artifacts.
- task: DownloadPipelineArtifact@2
  inputs:
    buildType: 'current' # 'current' | 'specific'. Alias: source. Required. Download artifacts produced by. Default: current.
    #project: # string. Required when source == specific. Project. 
    #definition: # string. Alias: pipeline. Required when source == specific. Build pipeline. 
    #specificBuildWithTriggering: false # boolean. Alias: preferTriggeringPipeline. Optional. Use when source == specific. When appropriate, download artifacts from the triggering build. Default: false.
    #buildVersionToDownload: 'latest' # 'latest' | 'latestFromBranch' | 'specific'. Alias: runVersion. Required when source == specific. Build version to download. Default: latest.
    #branchName: 'refs/heads/master' # string. Alias: runBranch. Required when source == specific && runVersion == latestFromBranch. Branch name. Default: refs/heads/master.
    #pipelineId: # string. Alias: runId | buildId. Required when source == specific && runVersion == specific. Build. 
    #tags: # string. Optional. Use when source == specific && runVersion != specific. Build Tags. 
    #allowPartiallySucceededBuilds: false # boolean. Optional. Use when source == specific && runVersion != specific. Download artifacts from partially succeeded builds. Default: false.
    #allowFailedBuilds: false # boolean. Optional. Use when source == specific && runVersion != specific. Download artifacts from failed builds. Default: false.
    #artifactName: # string. Alias: artifact. Artifact name. 
    #itemPattern: '**' # string. Alias: patterns. Matching patterns. Default: **.
    targetPath: '$(Pipeline.Workspace)' # string. Alias: path | downloadPath. Required. Destination directory. Default: $(Pipeline.Workspace).

Entradas

buildType - Transferir artefactos produzidos por
Alias de entrada: source. string. Obrigatório. Valores permitidos: current (Execução atual), specific (Execução específica). Valor predefinido: current.

Transfere artefactos produzidos pela execução do pipeline atual ou a partir de uma execução de pipeline específica.


project - Projeto
string. Necessário quando source == specific.

Especifica o nome do projeto ou GUID a partir do qual pode transferir os artefactos do pipeline.


definition - Pipeline de compilação
Alias de entrada: pipeline. string. Necessário quando source == specific.

O ID de definição do pipeline. Num pipeline em execução, pode encontrar-se definitionId na variável System.DefinitionId . Também definitionId pode ser obtido a partir do URL na página de descrição geral do pipeline no portal do Azure DevOps. No seguinte exemplo de URL, o definitionId é 78: https://dev.azure.com/fabrikam-inc/FabrikamFiber/_build?definitionId=78&_a=summary. Para transferir artefactos a partir de uma definição de pipeline específica, capture o definitionId desse pipeline e especifique-o como o pipeline parâmetro.


specificBuildWithTriggering - Quando adequado, transfira artefactos a partir da compilação de acionamento.
Alias de entrada: preferTriggeringPipeline. boolean. Opcional. Utilize quando source == specific. Valor predefinido: false.

Se for verificada, a tarefa transfere artefactos da compilação de acionamento. Se não existir nenhuma compilação acionada a partir do pipeline especificado, a tarefa transfere artefactos da compilação especificada nas opções abaixo.


buildVersionToDownload - Criar versão para transferir
Alias de entrada: runVersion. string. Necessário quando source == specific. Valores permitidos: latest, latestFromBranch (Mais recente a partir de um ramo específico e etiquetas de compilação especificadas), specific (versão específica). Valor predefinido: latest.

Especifica a versão de compilação a transferir.


branchName - Nome do ramo
Alias de entrada: runBranch. string. Necessário quando source == specific && runVersion == latestFromBranch. Valor predefinido: refs/heads/master.

Especifica o filtro no nome do ramo/ref. Por exemplo: refs/heads/develop.


pipelineId - Compilar
Alias de entrada: runId | buildId. string. Necessário quando source == specific && runVersion == specific.

O identificador do pipeline é executado a partir do qual pode transferir os artefactos. Num pipeline em execução, pode encontrar-se buildId na variável Build.BuildId . Também buildId pode ser obtido a partir do URL na página de resumo da execução do pipeline no portal do Azure DevOps. No seguinte exemplo de URL, é buildId 1088: https://dev.azure.com/fabrikam-inc/FabrikamFiber/_build/results?buildId=1088&view=results. Para transferir artefactos de uma execução de pipeline específica, capture a buildId partir dessa execução e especifique-a como o buildId parâmetro.


tags - Criar Etiquetas
string. Opcional. Utilize quando source == specific && runVersion != specific.

A lista delimitada por vírgulas de etiquetas que a tarefa utiliza para devolver compilações etiquetadas. As compilações não selecionadas não são devolvidas.


allowPartiallySucceededBuilds - Transfira artefactos de compilações com êxito parcial.
boolean. Opcional. Utilize quando source == specific && runVersion != specific. Valor predefinido: false.

Especifica se a tarefa de compilação transfere artefactos se a compilação é bem-sucedida ou se é parcialmente bem-sucedida.


allowFailedBuilds - Transfira artefactos de compilações falhadas.
boolean. Opcional. Utilize quando source == specific && runVersion != specific. Valor predefinido: false.

Se selecionada, a tarefa de compilação transfere artefactos, quer a compilação tenha êxito ou falhe.


artifactName - Nome do artefacto
Alias de entrada: artifact. string.

Especifica o nome do artefacto a transferir. Se o valor ficar vazio, a tarefa transfere todos os artefactos associados à execução do pipeline.


itemPattern - Padrões correspondentes
Alias de entrada: patterns. string. Valor predefinido: **.

Os padrões de correspondência de ficheiros que limitam os ficheiros transferidos. O valor pode ser um ou mais padrões de correspondência de ficheiros delimitados por novas linhas. Saiba mais sobre os padrões de correspondência de ficheiros.


targetPath - Diretório de destino
Alias de entrada: path | downloadPath. string. Obrigatório. Valor predefinido: $(Pipeline.Workspace).

Especifica um caminho relativo ou absoluto no computador do agente onde os artefactos serão transferidos. Se a opção de transferência múltipla for aplicada (deixando um nome de artefacto vazio), será criado um subdiretório para cada transferência. Saiba mais sobre Artefactos nos Pipelines do Azure.


Opções de controlo de tarefas

Todas as tarefas têm opções de controlo para além das entradas de tarefas. Para obter mais informações, veja Opções de controlo e propriedades de tarefas comuns.

Variáveis de saída

Esta tarefa define as seguintes variáveis de saída, que pode consumir em passos, tarefas e fases a jusante.

BuildNumber
Armazena o número de compilação da origem do artefacto do pipeline.

Devido à retrocompatibilidade, esta variável devolve BuildId.

Saiba mais sobre as variáveis de compilação.

Esta tarefa define as seguintes variáveis de saída, que pode consumir em passos, tarefas e fases a jusante.

BuildNumber
Armazena o número de compilação da origem do artefacto do pipeline.

Observações

Importante

Esta tarefa é suportada apenas nos Serviços de DevOps do Azure. Se o utilizar no Azure DevOps Server, receberá uma mensagem de erro semelhante a Pipeline Artifact Task is not supported in on-premises. Please use Build Artifact Task instead. Utilizar Transferir Artefactos de Compilação se estiver a utilizar o Azure DevOps Server ou o TFS 2018.

Utilize esta tarefa para transferir artefactos de pipeline de fases anteriores neste pipeline ou de outro pipeline. Por predefinição, os artefactos são transferidos para $(Pipeline.Workspace). Se não especificar um nome de artefacto, será criado um subdiretório para cada artefacto transferido. Pode utilizar padrões de correspondência de ficheiros para limitar os ficheiros que pretende transferir.

As palavras-chave de publicação e transferência são atalhos de tarefas para publicar e transferir os artefactos do pipeline.

Como posso encontrar o ID do Pipeline a partir do qual quero transferir um artefacto?

Para encontrar o definitionId para uma definição de pipeline específica

Num pipeline em execução, o definitionId pode ser encontrado na variável System.DefinitionId . Também definitionId pode ser obtido a partir do URL na página de descrição geral do pipeline no portal do Azure DevOps. No seguinte exemplo de URL, o definitionId é 78: https://dev.azure.com/fabrikam-inc/FabrikamFiber/_build?definitionId=78&_a=summary. Para transferir artefactos de uma definição de pipeline específica, capture o a definitionId partir desse pipeline e especifique-o como o pipeline parâmetro .

Para encontrar o buildId para uma execução de pipeline específica

O identificador da execução do pipeline a partir do qual os artefactos são transferidos. Num pipeline em execução, o buildId pode ser encontrado na variável Build.BuildId . Também buildId pode ser obtido a partir do URL na página de resumo da execução do pipeline no portal do Azure DevOps. No seguinte exemplo de URL, o buildId é 1088: https://dev.azure.com/fabrikam-inc/FabrikamFiber/_build/results?buildId=1088&view=results. Para transferir artefactos de uma execução de pipeline específica, capture o buildId a partir dessa execução e especifique-o como o buildId parâmetro .

Exemplos

Transferir um artefacto específico

# Download an artifact named 'WebApp' to 'bin' in $(Build.SourcesDirectory)
- task: DownloadPipelineArtifact@2
  inputs:
    artifactName: 'WebApp'
    targetPath: $(Build.SourcesDirectory)/bin

Transferir artefactos de um projeto/pipeline específico

# Download artifacts from a specific pipeline.
- task: DownloadPipelineArtifact@2
  inputs:
    buildType: 'specific'
    project: 'FabrikamFiber'
    definition: 12
    buildVersionToDownload: 'latest'

Transferir artefactos de um ramo específico

# Download artifacts from a specific branch with a tag
- task: DownloadPipelineArtifact@2
  inputs:
    buildType: 'specific'
    project: 'FabrikamFiber'
    definition: 12
    buildVersionToDownload: 'latestFromBranch'
    branchName: 'refs/heads/master'
    tags: 'testTag'

Transferir um artefacto a partir de uma execução de compilação específica

# Download an artifact named 'WebApp' from a specific build run to 'bin' in $(Build.SourcesDirectory)
- task: DownloadPipelineArtifact@2
  inputs:
    buildType: 'specific'
    artifactName: 'WebApp'
    targetPath: $(Build.SourcesDirectory)/bin
    project: 'FabrikamFiber'
    definition: 12
    buildVersionToDownload: 'specific'
    pipelineId: 40

Requisitos

Requisito Description
Tipos de pipeline YAML, Compilação clássica, Versão clássica
É executado em Agent, DeploymentGroup
Exigências Nenhuma
Capacidades Esta tarefa não satisfaz quaisquer exigências para tarefas subsequentes na tarefa.
Restrições de comandos Qualquer
Variáveis de definição Qualquer
Versão do agente 2.164.1 ou superior
Categoria da tarefa Utilitário