如何在 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】:错误消息还包括两个可能的问题解决方案。选择一个:
停止使用文件共享来存储您的工件并改用服务器选项 使用 Windows 代理无法使用 OSX 或 Linux 代理从文件共享中下载工件。 您可以从服务器下载工件或使用 Windows 代理。
真的没有令人信服的理由再使用文件共享工件存储了;它包含在 TFS 2015 中,用于向后兼容 XAML 版本。
【讨论】:
以上是关于如何在 TFS Linux 代理中下载工件?的主要内容,如果未能解决你的问题,请参考以下文章
如何构建仅签入代码文件以及如何仅签入该构建的 tfs 中的代码工件?