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.

输入

用于发布PathtoPublish - 路径
string。 必填。 默认值:$(Build.ArtifactStagingDirectory)

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


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

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


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

指定是将项目存储在 Azure Pipelines (容器)中,还是将其复制到必须从生成代理访问的文件共享(FilePath)。 输入别名:ArtifactTypepublishLocation 的替代名称,可以互换使用。 有关详细信息,请参阅 Azure Pipelines 中的Artifacts。


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

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


TargetPath - 文件共享路径
stringArtifactType = 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 文件权限。 使用extractTars 任务的 选项自动提取下载的项目。 Windows 代理上忽略此设置。


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

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


任务控制选项

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

输出变量

没有。

注解

注释

不能使用 BinApp_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,经典生成
运行时间 代理,DeploymentGroup
需求 没有
功能 此任务不满足作业中后续任务的任何要求。
命令限制 任何
Settable 变量 任何
代理版本 1.91.0 或更高版本
任务类别 效用

另请参阅