VSTS 中复制文件与发布工件任务有什么区别?

What is the difference between Copy Files vs Publish Artifact task in VSTS?

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

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

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

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

  • 如果使用复制文件任务,设置如下。它也将得到与发布工件任务相同的结果。

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

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

如果共享文件夹的清理对您来说是个问题,那么切换到使用 Publish Artifacts 任务似乎是个好主意。

希望对您有所帮助。