Compartir a través de


PublishPipelineArtifact@1: tarea Publicar artefactos de canalización v1

Use esta tarea para publicar (cargar) un archivo o directorio como un artefacto con nombre para la ejecución actual.

Use esta tarea para publicar (cargar) un archivo o directorio como un artefacto con nombre para la ejecución actual.

Importante

Esta tarea solo se admite en Azure DevOps Services. Si lo usa en Azure DevOps Server, recibirá un mensaje de error similar a Pipeline Artifact Task is not supported in on-premises. Please use Build Artifact Task instead. Usar artefactos de compilación de publicación si usa Azure DevOps Server o 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 - Ruta de acceso de archivo o directorio
Alias de entrada: path. string. Obligatorio. Valor predeterminado: $(Pipeline.Workspace).

Especifica la ruta de acceso del archivo o directorio que se va a publicar. Puede ser absoluta o relativa al directorio de trabajo predeterminado. Puede incluir variables, pero no se admiten caracteres comodín. Consulte Artefactos en Azure Pipelines para más información.


artifact - Nombre del artefacto
Alias de entrada: artifactName. string.

Especifica el nombre del artefacto que se va a publicar. Puede ser cualquier nombre que elija, por ejemplo drop. Si no se establece, el valor predeterminado es un identificador único con ámbito para el trabajo.

Importante

El nombre del artefacto no puede contener \, /, ":, <>, , |, o *?.


publishLocation - Ubicación de publicación de artefactos
Alias de entrada: artifactType. string. Obligatorio. Valores permitidos: pipeline (Azure Pipelines), filepath (recurso compartido de archivos). Valor predeterminado: pipeline.

Especifica si se debe almacenar el artefacto en Azure Pipelines o copiarlo en un recurso compartido de archivos al que se debe acceder desde el agente de canalización.


fileSharePath - Ruta de acceso del recurso compartido de archivos
string. Necesario cuando artifactType = filepath.

Especifica el recurso compartido de archivos donde se copian los archivos de artefacto. Esto puede incluir variables, por ejemplo \\my\\share\\$(Build.DefinitionName)\\$(Build.BuildNumber). No se admite la publicación de artefactos desde un agente de Linux o macOS en un recurso compartido de archivos, por ejemplo \\server\folderName.


parallel - Copia en paralelo
boolean. Opcional. Use cuando artifactType = filepath. Valor predeterminado: false.

Especifica si se van a copiar archivos en paralelo mediante varios subprocesos para un mayor rendimiento potencial. Si esta configuración no está habilitada, se usará un subproceso.


parallelCount - Recuento paralelo
string. Opcional. Use cuando artifactType = filepath && parallel = true. Valor predeterminado: 8.

Especifica el grado de paralelismo, o el número de subprocesos usados, para realizar la copia. El valor debe estar comprendido entre 1 y 128.


properties - Propiedades personalizadas
string.

Especifica las propiedades personalizadas que se van a asociar al artefacto. Use una cadena JSON válida con el prefijo user- en todas las claves.


Opciones de control de tareas

Todas las tareas tienen opciones de control además de las entradas de tareas. Para obtener más información, vea Opciones de control y propiedades de tareas comunes.

Variables de salida

Ninguno.

Comentarios

La publicación no se admite en canalizaciones de versión clásicas.

Nota:

No se admite la publicación de artefactos de canalización en el entorno local. Use Publicar artefactos de compilación si usa Azure DevOps Server o TFS 2018. Si lo usa en Azure DevOps Server, recibirá un mensaje de error similar a Pipeline Artifact Task is not supported in on-premises. Please use Build Artifact Task instead..

Las palabras clave publish y download son accesos directos para las tareas PublishPipelineArtifact@1 y DownloadPipelineArtifact@2. Consulte steps.publish y steps.download para obtener más detalles.

Sugerencia

Puede usar el archivo .artifactignore para controlar qué archivos se publicarán.

Tengo problemas con la publicación de mis artefactos. ¿Cómo puedo ver los registros detallados?

Para habilitar los registros detallados para la canalización:

  1. Edite la canalización y seleccione Variables.
  2. Agregue una variable nueva con el nombre System.Debug y el valor true.
  3. Guardar

¿Qué variables están disponibles para mí?

R: $(Build.SourcesDirectory) y $(Agent.BuildDirectory) son solo algunas de las variables que puede usar en la canalización. Las variables están disponibles como expresiones o scripts.

Consulte Definir variables, Variables predefinidas y Variables de artefactos y versiones clásicas para obtener información sobre los distintos tipos de variables.

La tarea me permite publicar artefactos en el trabajo de implementación en la canalización yaml, pero no puedo usarlo en la canalización de bajada?

R: Los trabajos de implementación no tienen el contexto de las ramas de origen y, por lo tanto, no son adecuados para publicar artefactos. Se han diseñado principalmente para consumir artefactos. Una solución alternativa sería aislar esa lógica en un trabajo independiente (con dependencias en los trabajos de implementación).

Requisitos

Requisito Descripción
Tipos de canalización YAML, compilación clásica, versión clásica
Se ejecuta en Agente, DeploymentGroup
Peticiones None
Capabilities Esta tarea no satisface ninguna demanda de tareas posteriores en el trabajo.
Restricciones de comandos Any
Variables que se pueden establecer Any
Versión del agente 2.199.0 o superior
Categoría de la tarea: Utilidad
Requisito Descripción
Tipos de canalización YAML, compilación clásica, versión clásica
Se ejecuta en Agente, DeploymentGroup
Peticiones None
Capabilities Esta tarea no satisface ninguna demanda de tareas posteriores en el trabajo.
Restricciones de comandos Any
Variables que se pueden establecer Any
Versión del agente 2.199 o superior
Categoría de la tarea: Utilidad
Requisito Descripción
Tipos de canalización YAML, compilación clásica, versión clásica
Se ejecuta en Agente, DeploymentGroup
Peticiones None
Capabilities Esta tarea no satisface ninguna demanda de tareas posteriores en el trabajo.
Restricciones de comandos Any
Variables que se pueden establecer Any
Versión del agente 2.159.2 o superior
Categoría de la tarea: Utilidad

Consulte también