发布生成 Artifacts 任务
Azure DevOps Services | Azure DevOps Server 2020 | Azure DevOps Server 2019 | TFS 2018
注意
此任务已弃用。 建议改为使用管道 Artifacts任务。 管道的当前版本Artifacts 任务可以更好地进行缩放,允许并行上载,速度更快。
在生成管道中使用此任务将生成项目发布到 Azure Pipelines、TFS 或文件共享。
需求
无
YAML 代码段
# Publish build artifacts
# Publish build artifacts to Azure Pipelines or a Windows file share
- task: PublishBuildArtifacts@1
inputs:
#pathToPublish: '$(Build.ArtifactStagingDirectory)'
#artifactName: 'drop'
#publishLocation: 'Container' # Options: container, filePath
#targetPath: # Required when publishLocation == FilePath
#parallel: false # Optional
#parallelCount: # Optional
#fileCopyOptions: #Optional
#storeAsTar: false # Optional
自变量
| 参数 | 说明 |
|---|---|
pathToPublish要发布的路径 (必需) |
要发布的文件夹或文件路径。 此路径可以是完全限定的路径,也可以是相对于存储库根目录的路径。 不支持通配符。 请参阅Azure Pipelines 中的 Artifacts。 默认值:30 $(Build.ArtifactStagingDirectory) |
ArtifactName项目名称 (必需) |
指定要创建的项目的名称。 它可以是你想要的任何内容。 默认值:30 drop |
publishLocation项目发布位置 (必需) |
选择是将项目存储在 Azure Pipelines (Container) 中,还是将其复制到必须可从生成代理访问的 (FilePath) 的文件共享中。 若要了解详细信息,请参阅Azure Pipelines 中的 Artifacts。默认值:30 Container |
TargetPath文件共享路径 必需(如果 publishLocation=FilePath |
指定要将文件复制到的文件共享的路径。 路径必须是完全限定的路径或相对于存储库根目录的有效路径。 不支持将项目从 Linux 或 macOS 代理发布到文件共享。 |
Parallel并行复制 (Azure Pipelines, TFS 2018或更高版本) |
选择是否要使用多个线程并行复制文件,以获得更大的潜在吞吐量。 如果未启用此设置,将使用单个线程。 |
ParallelCount并行计数 (Azure Pipelines、 TFS 2018或更高版本) |
输入并行度 () 用于执行复制的线程数。 该值必须至少为1,且不能大于128。 选择基于生成代理的 CPU 功能的值。 默认值:30 8 |
FileCopyOptions文件复制选项 |
将附加选项传递给 Robocopy 命令。 例如,recursive minimatch 模式 **/* 。 |
StoreAsTar上传之前的项目 |
上载之前,将发布路径中的所有文件添加到 tar 存档文件。 此选项允许您保留 UNIX 文件权限。 使用 extractTarsDownloadBuildArtifacts 任务的选项,自动提取已下载的项目。 在 Windows 上被忽略。 默认值:30 false |
| 控制选项 |
注意
不能使用作为项目名称的 IIS 保留的 Bin、 App_Data 和其他文件夹名称,因为此内容不会用于响应 Web 请求。 有关更多详细信息,请参阅ASP.NET Web Project 文件夹结构。
示例
steps:
- task: CopyFiles@2
inputs:
contents: '_buildOutput/**'
targetFolder: $(Build.ArtifactStagingDirectory)
- task: PublishBuildArtifacts@1
inputs:
pathToPublish: $(Build.ArtifactStagingDirectory)
artifactName: MyBuildOutputs
常见问题解答
问:我在发布项目时遇到问题。 如何查看详细日志?
为管道启用详细日志:
- 编辑管道并选择 变量
- 添加具有名称
System.Debug和值的新变量true - 保存
问:我可以使用哪些变量?
答: $(Build.SourcesDirectory) 和 $(Agent.BuildDirectory) 只是几个可在管道中使用的变量。 变量可用作 表达式 或脚本。
若要了解不同类型的变量,请参阅 定义变量、 预定义变量和 经典发布和项目变量 。
问:任务允许我在 yaml 管道中的部署作业中发布项目,但无法在下游管道中使用它?
答:部署作业没有源分支的上下文,因此不适合发布项目。 它们主要用于使用项目。 一种解决方法是将该逻辑隔离到一个单独的作业 () 的部署作业上。