如何在 TFS Linux 代理中下载工件?

How to download artifact in TFS Linux agent?

我在 TFS 2017 中创建了构建和发布定义。在构建定义中,我在 windows 服务器共享路径(如 \server\drop)发布工件,当我在运行的发布管道中使用这些工件时基于 Linux 的代理低于错误。

An error occurred during download: System.NotSupportedException: Cannot download artifacts from a file share using OSX or Linux agent. You can download artifact from server or use a Windows agent.
   at Microsoft.VisualStudio.Services.Agent.Worker.Release.Artifacts.BuildArtifact.<DownloadArtifactAsync>d__8.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.VisualStudio.Services.Agent.Worker.Release.Artifacts.BuildArtifact.<DownloadAsync>d__5.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.VisualStudio.Services.Agent.Worker.Release.ReleaseJobExtension.<>c__DisplayClass34_2.<<DownloadArtifacts>b__2>d.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at Microsoft.VisualStudio.Services.Agent.Worker.Release.RetryExecutor.<ExecuteAsync>d__20.MoveNext()

错误消息还包括两个可能的问题解决方案。选择一项:

Cannot download artifacts from a file share using OSX or Linux agent. You can download artifact from server or use a Windows agent.

  • 停止使用文件共享来存储您的工件并改用服务器选项
  • 使用 Windows 代理

确实没有令人信服的理由再使用文件共享工件存储;它包含在 TFS 2015 中以向后兼容 XAML 构建。