VSTS中的Copy Files vs Publish Artifact任务有什么区别?

时间:2017-09-25 17:01:12

标签: azure-devops azure-pipelines-build-task

在我的Copy Files任务中,我将所需文件复制到我将从中进行部署的文件共享位置。发布工件步骤有什么用?或者它在我的情况下已经过时了。我对应该放在框中的值应该感到困惑。

enter image description here

2 个答案:

答案 0 :(得分:4)

  • 如果您需要将文件/工件复制到VSTS服务器,则发布工件任务是唯一的选择(通过选择服务器工件类型选项)。
  • 如果您需要将文件/工件复制到共享路径,则发布工件任务和复制文件任务都可以。并且“复制文件”任务比“发布工件”任务更灵活,因为您可以指定要复制哪些文件以在目录选项中共享路径。

根据您的情况,您可以使用任何任务(发布工件任务和复制文件任务)。由于您只需将$(build.artifactstagingdirectory)下的内容复制到共享路径\\my\share\$(Build.DefinitionName)\$(Build.BuildNumber),因此这两项任务也可以实现。

  • 如果您使用“发布工件”任务,则图片中指定的设置即可。它会将$(build.artifactstagingdirectory)下的内容复制到\\my\share\$(Build.DefinitionName)\$(Build.BuildNumber)\drop

  • 如果使用“复制文件”任务,则设置如下所示。它也与Publish Artifacts任务结果相同。

    enter image description here

答案 1 :(得分:0)

我发现了另一个区别,即清理构建的时间(手动删除或保留规则将其删除)。

当使用以共享文件夹作为目标的“发布工件”任务时,将完成放置文件夹的清理。 使用“复制文件”任务时,不会完成放置文件夹的清理。

如果清理共享文件夹对您来说是一个问题,那么切换为使用“发布工件”任务似乎是个好主意。

希望这会有所帮助。