Build Artifact和Pipeline Artifact任务之间有什么区别?

Dan*_*man 8 azure-devops azure-pipelines

在Azure DevOps中,我们具有下载 / 发布生成工件任务和下载 / 发布管道工件任务。

构建工件任务和管道工件任务之间有什么区别?何时选择一个而又一个呢?

Sha*_*zyk 9

Azure DevOps GitHub中存在有关此问题,Microsoft回答:

大家好-我来自Azure Artifacts团队,我们构建了您在Azure Pipelines中发现的Pipeline Artifacts功能。

我将讨论有关文档的最重要的评论-我们在Azure Pipelines中有一个关于Artifacts的全新页面,其中列出了我们支持的每种工件类型以及它们的用途以及指向特定文档的链接。我们认为这可以回答您的大多数问题。

因为在我们发布它之前仍在对其进行编辑,所以我想我将为您提供30,000英尺的管道工件与构建工件之间差异的观点,并提及管道工件与通用包装之间的关系。

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

Pipeline Artifacts(使用Publish Pipeline Artifact任务发布,旨在替代Build Artifacts。它们现在处于预览状态,我们还需要做更多的事情才能达到平价。PipelineArtifacts的好处是它们可以显着地减少上载和下载大型工件的时间。我们首先检查服务中是否存在要上载的内容。我们不仅在每个文件级别,而且在子文件级别(最多可容纳128K块),从而可以显着提高性能。

通用软件包-也在预览中使用与管道工件相同的存储/传输技术。当您要创建工件的生命周期与创建它的管道无关时,可以使用通用软件包。您可以通过工件UX在完成管道后下载管道工件-但是,如果您想要真正独立于管道存在的内容,则可以使用通用软件包。两者之间应该没有性能差异。

希望这会有所帮助。请随时提出任何其他问题,我将继续提供答案。