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

Posted

技术标签:

【中文标题】如何在 TFS Linux 代理中下载工件?【英文标题】:How to download artifact in TFS Linux agent? 【发布时间】:2020-10-12 09:15:11 【问题描述】:

我在 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()

【问题讨论】:

【参考方案1】:

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

无法使用 OSX 或 Linux 代理从文件共享中下载工件。 您可以从服务器下载工件或使用 Windows 代理

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

真的没有令人信服的理由再使用文件共享工件存储了;它包含在 TFS 2015 中,用于向后兼容 XAML 版本。

【讨论】:

以上是关于如何在 TFS Linux 代理中下载工件?的主要内容,如果未能解决你的问题,请参考以下文章

如何构建仅签入代码文件以及如何仅签入该构建的 tfs 中的代码工件?

TFS 2017 - 从 TFS 服务器而不是代理运行 powershell 脚本

如何在 TFS 2015 中创建默认代理池?

TFS/Azure DevOps 上的发布工件的位置在哪里

如何从 Artifactory 存储库下载最新的工件?

TFS Release - 获取给定环境的可用版本列表