PublishBuildArtifacts@1 - 发布生成项目 v1 任务

在生成管道中使用此任务可将生成工件发布到 Azure Pipelines、TFS 或文件共享。

如果使用 Azure DevOps Services,建议使用“下载管道项目”“发布管道项目”以提高性能。

在生成管道中使用此任务可将生成工件发布到 Azure Pipelines、TFS 或文件共享。

语法

# Publish build artifacts v1
# Publish build artifacts to Azure Pipelines or a Windows file share.
- task: PublishBuildArtifacts@1
  inputs:
    PathtoPublish: '$(Build.ArtifactStagingDirectory)' # string. Required. Path to publish. Default: $(Build.ArtifactStagingDirectory).
    ArtifactName: 'drop' # string. Required. Artifact name. Default: drop.
    publishLocation: 'Container' # 'Container' | 'FilePath'. Alias: ArtifactType. Required. Artifact publish location. Default: Container.
    #MaxArtifactSize: '0' # string. Max Artifact Size. Default: 0.
    #TargetPath: # 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.
  # Advanced
    #StoreAsTar: false # boolean. Tar the artifact before uploading. Default: false.
# Publish build artifacts v1
# Publish build artifacts to Azure Pipelines or a Windows file share.
- task: PublishBuildArtifacts@1
  inputs:
    PathtoPublish: '$(Build.ArtifactStagingDirectory)' # string. Required. Path to publish. Default: $(Build.ArtifactStagingDirectory).
    ArtifactName: 'drop' # string. Required. Artifact name. Default: drop.
    publishLocation: 'Container' # 'Container' | 'FilePath'. Alias: ArtifactType. Required. Artifact publish location. Default: Container.
    #TargetPath: # 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.
  # Advanced
    #FileCopyOptions: # string. Optional. Use when ArtifactType = FilePath. File copy options. 
    #StoreAsTar: false # boolean. Tar the artifact before uploading. Default: false.
# Publish build artifacts v1
# Publish build artifacts to Azure Pipelines or a Windows file share.
- task: PublishBuildArtifacts@1
  inputs:
    PathtoPublish: '$(Build.ArtifactStagingDirectory)' # string. Required. Path to publish. Default: $(Build.ArtifactStagingDirectory).
    ArtifactName: 'drop' # string. Required. Artifact name. Default: drop.
    publishLocation: 'Container' # 'Container' | 'FilePath'. Alias: ArtifactType. Required. Artifact publish location. Default: Container.
    #TargetPath: # 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.
  # Advanced
    #FileCopyOptions: # string. Optional. Use when ArtifactType = FilePath. File copy options.
# Publish build artifacts v1
# Publish build artifacts to Azure Pipelines or a Windows file share.
- task: PublishBuildArtifacts@1
  inputs:
    PathtoPublish: '$(Build.ArtifactStagingDirectory)' # string. Required. Path to publish. Default: $(Build.ArtifactStagingDirectory).
    ArtifactName: 'drop' # string. Required. Artifact name. Default: drop.
    publishLocation: 'Container' # 'Container' | 'FilePath'. Alias: ArtifactType. Required. Artifact publish location. Default: Container.
    #TargetPath: # 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.
# Publish Build Artifacts v1
# Publish build artifacts to Azure Pipelines/TFS or a file share.
- task: PublishBuildArtifacts@1
  inputs:
    PathtoPublish: '$(Build.ArtifactStagingDirectory)' # string. Required. Path to publish. Default: $(Build.ArtifactStagingDirectory).
    ArtifactName: 'drop' # string. Required. Artifact name. Default: drop.
    publishLocation: 'Container' # 'Container' | 'FilePath'. Alias: ArtifactType. Required. Artifact publish location. Default: Container.
    #TargetPath: # 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.

输入

PathtoPublish - 要发布的路径
string. 必需。 默认值:$(Build.ArtifactStagingDirectory)

指定要发布的文件夹或文件路径。 它可以是完全限定的路径,也可以是相对于存储库根目录的路径。 不支持通配符。 支持使用变量。 示例:$(Build.ArtifactStagingDirectory)。 有关详细信息,请参阅 管道中的项目 - 概述


ArtifactName - 项目名称
string. 必需。 默认值:drop

指定要在发布位置中创建的项目的名称。 不允许使用以下特殊字符:+%、、 {}


publishLocation - 项目发布位置
输入别名: ArtifactTypestring. 必需。 允许的值: Container (Azure Pipelines) 、 FilePath (A 文件共享) 。 默认值:Container

指定是将项目存储在 Azure Pipelines (容器) 中,还是将其复制到文件共享 (必须可从生成代理访问的 FilePath) 。 有关详细信息,请参阅 Azure Pipelines 中的工件


publishLocation - 项目发布位置
输入别名: ArtifactTypestring. 必需。 允许的值: Container (Azure Pipelines/TFS) 、 FilePath (A 文件共享) 。 默认值:Container

指定是将项目存储在 Azure Pipelines (容器) 中,还是将其复制到文件共享 (必须可从生成代理访问的 FilePath) 。 有关详细信息,请参阅 Azure Pipelines 中的工件


MaxArtifactSize - 最大项目大小
string. 默认值:0

要发布的项目大小的最大限制(以字节为单位)。 如果不想设置任何限制,则为 0。


TargetPath - 文件共享路径
string. 当 ArtifactType = FilePath 时,需要此选项。

指定要在其中复制文件的文件共享的路径。 路径必须是完全限定的路径或相对于存储库根目录的有效路径。 不支持将工件从 Linux 或 macOS 代理发布到文件共享。 示例:\\my\share\$(Build.DefinitionName)\$(Build.BuildNumber)


Parallel - 并行复制
boolean. 可选。 在 时 ArtifactType = FilePath使用 。 默认值:false

指定是否使用多个线程并行复制文件,以增加潜在的吞吐量。 如果未启用此设置,将使用单个线程。


ParallelCount - 并行计数
string. 可选。 在 时 ArtifactType = FilePath && Parallel = true使用 。 默认值:8

指定并行度 () 用于执行复制的线程数。 该值必须至少为 1,但不大于 128。 根据生成代理的 CPU 功能选择一个值。


StoreAsTar - 上传前将项目进行 Tar
boolean. 默认值:false

在上传之前,将发布路径中的所有文件添加到 tar 存档。 这样就可以保留 UNIX 文件权限。 使用 extractTarsDownloadBuildArtifacts 任务的选项自动提取下载的项。 Windows 代理上忽略此设置。


FileCopyOptions - 文件复制选项
string. 可选。 在 时 ArtifactType = FilePath使用 。

将其他选项传递给 Robocopy 命令。 例如,递归 minimatch 模式 **/*


任务控制选项

除了任务输入,所有任务都有控制选项。 有关详细信息,请参阅 控制选项和常见任务属性

输出变量

无。

备注

注意

不能使用 Bin、App_Data 和 IIS 保留的其他文件夹名称作为工件名称,因为该内容不是为响应 Web 请求而提供的。 如需更多详细信息,请参阅 ASP.NET Web 项目文件夹结构

示例

steps:
- task: CopyFiles@2
  inputs:
    contents: '_buildOutput/**'
    targetFolder: $(Build.ArtifactStagingDirectory)
- task: PublishBuildArtifacts@1
  inputs:
    pathToPublish: $(Build.ArtifactStagingDirectory)
    artifactName: MyBuildOutputs

要求

要求 说明
管道类型 YAML,经典内部版本
运行平台 Agent、DeploymentGroup
需求
功能 此任务不满足作业中后续任务的任何要求。
命令限制 任意
可设置的变量 任意
代理版本 1.91.0 或更高版本
任务类别 实用工具

另请参阅