Azure Pipelines:PublishBuildArtifacts 和 PublishPipelineArtifact 任务之间的区别?

nop*_*ace 31 azure-pipelines azure-pipelines-yaml azure-devops-pipelines

我注意到PublishPipelineArtifact任务的存在,但我不清楚与旧的PublishBuildArtifacts任务是否有任何功能差异?

Mr *_*ian 34

构建工件:构建工件是您希望构建生成的文件。构建工件几乎可以是您的团队测试或部署应用程序所需的任何内容。例如,您有 .dll 和 .exe 可执行文件以及 .NET 或 C++ Windows 应用程序的 .PDB 符号文件。

管道工件:您可以使用管道工件来帮助存储构建输出并在管道中的作业之间移动中间文件。管道工件与创建它们的管道相关联。只要保留构建,您就可以在管道中使用它们并从构建中下载它们。管道工件是新一代的构建工件。他们利用现有服务来大幅减少将输出存储在管道中所需的时间。仅在 Azure DevOps 服务中可用。

这是GitHub上关于它的问题,微软已回答:

构建工件(通过任务发布Publish Build Artifacts)已在 Azure DevOps 中存在很长时间,并且是 Azure Pipelines 的内置工件存储机制。如今,大多数存储非包工件的构建可能会使用此任务。该任务可以将内容推送到服务器/云,但也可以将文件复制到本地文件共享。

管道工件(使用该Publish Pipeline Artifact 任务发布的目的是替代构建工件)。管道工件的好处是它们可以大大减少上传和下载大型工件所需的时间。我们首先检查服务中是否存在正在上传的内容。我们不仅在每个文件级别执行此操作,还在子文件级别(最多 128K 块)执行此操作。它可以带来真正显着的性能改进。

另外,这里还有一张同样问题的工单,大家可以参考一下。