PublishPipelineArtifact@1 - Tarefa Publicar Artefactos de Pipeline v1
Utilize esta tarefa para publicar (carregar) um ficheiro ou diretório como um artefacto com nome para a execução atual.
Utilize esta tarefa para publicar (carregar) um ficheiro ou diretório como um artefacto com nome para a execução atual.
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 Artefactos de Compilação de Publicação se estiver a utilizar Azure DevOps Server ou TFS 2018.
Syntax
# Publish Pipeline Artifacts v1
# Publish (upload) a file or directory as a named artifact for the current run.
- task: PublishPipelineArtifact@1
inputs:
targetPath: '$(Pipeline.Workspace)' # string. Alias: path. Required. File or directory path. Default: $(Pipeline.Workspace).
#artifact: # string. Alias: artifactName. Artifact name.
publishLocation: 'pipeline' # 'pipeline' | 'filepath'. Alias: artifactType. Required. Artifact publish location. Default: pipeline.
#fileSharePath: # string. Required when artifactType = filepath. File share path.
#parallel: false # boolean. Optional. Use when artifactType = filepath. Parallel copy. Default: false.
#parallelCount: '8' # string. Optional. Use when artifactType = filepath && parallel = true. Parallel count. Default: 8.
#properties: # string. Custom properties.
# Publish Pipeline Artifacts v1
# Publish (upload) a file or directory as a named artifact for the current run.
- task: PublishPipelineArtifact@1
inputs:
targetPath: '$(Pipeline.Workspace)' # string. Alias: path. Required. File or directory path. Default: $(Pipeline.Workspace).
#artifact: # string. Alias: artifactName. Artifact name.
publishLocation: 'pipeline' # 'pipeline' | 'filepath'. Alias: artifactType. Required. Artifact publish location. Default: pipeline.
#fileSharePath: # string. Required when artifactType = filepath. File share path.
#parallel: false # boolean. Optional. Use when artifactType = filepath. Parallel copy. Default: false.
#parallelCount: '8' # string. Optional. Use when artifactType = filepath && parallel = true. Parallel count. Default: 8.
Entradas
targetPath
- Caminho do ficheiro ou do diretório
Alias de entrada: path
. string
. Obrigatório. Valor predefinido: $(Pipeline.Workspace)
.
Especifica o caminho do ficheiro ou diretório a publicar. Pode ser absoluto ou relativo ao diretório de trabalho predefinido. Pode incluir variáveis, mas os carateres universais não são suportados. Veja Artefactos nos Pipelines do Azure para obter mais informações.
artifact
- Nome do artefacto
Alias de entrada: artifactName
. string
.
Especifica o nome do artefacto a publicar. Pode ser qualquer nome que escolher, por exemplo drop
. Se não estiver definido, a predefinição é um ID exclusivo no âmbito da tarefa.
Importante
O nome do artefacto não pode conter , , , , , , , ou ?
*
. |
<
>
:
"
/
\
publishLocation
- Localização de publicação de artefactos
Alias de entrada: artifactType
. string
. Obrigatório. Valores permitidos: pipeline
(Pipelines do Azure), filepath
(Uma partilha de ficheiros). Valor predefinido: pipeline
.
Especifica se pretende armazenar o artefacto nos Pipelines do Azure ou copiá-lo para uma partilha de ficheiros que tem de estar acessível a partir do agente de pipeline.
fileSharePath
- Caminho da partilha de ficheiros
string
. Necessário quando artifactType = filepath
.
Especifica a partilha de ficheiros onde os ficheiros de artefacto são copiados. Isto pode incluir variáveis, por exemplo \\my\\share\\$(Build.DefinitionName)\\$(Build.BuildNumber)
. A publicação de artefactos de um agente Linux ou macOS para uma partilha de ficheiros não é suportada, por exemplo \\server\folderName
.
parallel
- Cópia paralela
boolean
. Opcional. Utilize quando artifactType = filepath
. Valor predefinido: false
.
Especifica se deve copiar ficheiros em paralelo com vários threads para um maior débito potencial. Se esta definição não estiver ativada, será utilizado um thread.
parallelCount
- Contagem paralela
string
. Opcional. Utilize quando artifactType = filepath && parallel = true
. Valor predefinido: 8
.
Especifica o grau de paralelismo ou o número de threads utilizados para executar a cópia. O valor tem de estar entre 1 e 128.
properties
- Propriedades personalizadas
string
.
Especifica as propriedades personalizadas a associar ao artefacto. Utilize uma cadeia JSON válida com o prefixo user-
em todas as chaves.
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
Nenhum.
Observações
A publicação não é suportada em pipelines de versão clássicos.
Nota
Publicar Artefactos de Pipeline não é suportado no local. Utilize Publicar Artefactos de Compilação se estiver a utilizar Azure DevOps Server ou TFS 2018. 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.
.
As publish
palavras-chave e download
são atalhos para as tarefas PublishPipelineArtifact@1 e DownloadPipelineArtifact@2. Consulte steps.publish e steps.download para obter mais detalhes.
Dica
Pode utilizar o ficheiro .artifactignore para controlar os ficheiros que serão publicados.
Estou a ter problemas com a publicação dos meus artefactos. Como posso ver os registos detalhados?
Para ativar registos detalhados para o pipeline:
- Editar o pipeline e selecionar Variáveis
- Adicionar uma nova variável com o nome
System.Debug
e o valortrue
- Guardar
Que variáveis estão disponíveis para mim?
R: $(Build.SourcesDirectory)
e $(Agent.BuildDirectory)
são apenas algumas das variáveis que pode utilizar no pipeline. As variáveis estão disponíveis como expressões ou scripts.
Veja Definir variáveis, variáveis predefinidas e Variáveis de lançamento e artefactos clássicos para saber mais sobre os diferentes tipos de variáveis.
A tarefa permite-me publicar artefactos na tarefa de implementação no pipeline yaml, mas não consigo utilizá-lo no pipeline a jusante?
R: As tarefas de implementação não têm o contexto dos ramos de origem e, por conseguinte, não são adequadas para a publicação de artefactos. Foram concebidos principalmente para consumir artefactos. Uma solução seria isolar essa lógica numa tarefa separada (com dependências nas tarefas de implementação).
Requisitos
Requisito | Description |
---|---|
Tipos de pipeline | YAML, Compilação clássica, Versão clássica |
É executado em | Agente, 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 tabelas definidas | Qualquer |
Versão do agente | 2.199.0 ou superior |
Categoria da tarefa | Utilitário |
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.199 ou superior |
Categoria da tarefa | Utilitário |
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.159.2 ou superior |
Categoria da tarefa | Utilitário |
Ver também
- Quer começar a criar artefactos? Veja Artefactos nos Pipelines do Azure.