PublishBuildArtifacts@1 - 发布生成项目 v1 任务
在生成管道中使用此任务可将生成工件发布到 Azure Pipelines、TFS 或文件共享。
在生成管道中使用此任务可将生成工件发布到 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
- 项目发布位置
输入别名: ArtifactType
。 string
. 必需。 允许的值: Container
(Azure Pipelines) 、 FilePath
(A 文件共享) 。 默认值:Container
。
指定是将项目存储在 Azure Pipelines (容器) 中,还是将其复制到文件共享 (必须可从生成代理访问的 FilePath) 。 有关详细信息,请参阅 Azure Pipelines 中的工件。
publishLocation
- 项目发布位置
输入别名: ArtifactType
。 string
. 必需。 允许的值: 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 文件权限。 使用 extractTars
DownloadBuildArtifacts 任务的选项自动提取下载的项。 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 或更高版本 |
任务类别 | 实用工具 |
另请参阅
- 文件匹配模式参考
- 如何实现使用此任务发布项目
- 了解如何使用 详细日志 进行 故障排除。