TFS 2015使用文件共享选项发布构建产物失败。

3
我想创建一个演示应用程序,可以进行自动部署。换句话说,一旦我提交了代码更改,这些更改就可以在发布的网站上看到。我执行了以下步骤:
  • 我在Visual Studio 2017中创建了一个.NET项目,并按照此处此处的IIS说明发布了该项目。我将我的项目发布到了本地文件;
  • 然后我使用TFS 2015进行了Continuous DeliveryRelease Management,并从此处创建了构建和发布定义;
  • 最后一步是使用Copy File toPublish Artifacts任务,使用file share选项将内容放到我创建的发布文件夹中。因此,当我使用TFS提交更改时,更改将在线上显示。

以下是构建定义的配置:

Build Solution Task

Copy Files to Task

Source Folder Path

Publish Artifacts Task

文件共享路径中的文件夹是向所有人共享的,路径是正确的(当我在浏览器中输入它时,我可以看到文件夹的内容)。

我一直收到以下错误:

Publishing build artifacts failed with an error: Unable to create directory '{p}'. Unable to verify the directory exists: '{testDir}'. If directory is a file share, please verify the share name is correct, the share is online, and the current process has permission to access the share. \localhost\builddrop\drop \localhost\builddrop\drop

我已经试图解决这个问题2天了,但没有成功,而且我找不到类似的问题...我想知道是什么原因导致了这个错误,或者如果您有任何提示或技巧,可以让我更接近解决方案。

3个回答

2
感谢@Maxsur的回答,我意识到我没有安装构建代理,如果您想将代码发布到文件共享中,则需要它。我通过访问团队基础结构服务器Web门户,点击齿轮标志,选择代理队列并按照步骤操作来完成这项工作。此外,您还需要通过点击个人资料图标,然后选择安全性并添加新令牌来获取令牌。
参考: https://learn.microsoft.com/en-us/vsts/pipelines/agents/v2-windows?view=vsts

1

尝试检查(并更改)构建代理服务的帐户。它可以在Windows服务 -> build机器上找到VSTS Agent(或者如果它被用作build机器,则可以在TFS服务器上找到)。 该服务可以在“本地服务”帐户下运行,该帐户无法访问网络共享(即使在本地计算机上!)。 尝试将此帐户更改为管理员(例如),或按照MSDN的指导设置一个。


我正在使用TFS,但是在我的机器上或VSTS上找不到TFS的构建代理。这是我第一次听说构建代理,也许我错过了某个步骤吗?我尝试了运行=>键入services.msc并查找列表中的TFS和VSTS,但没有找到任何内容。 - Lara
好的,我看不到你的配置,那我们试试其他方法。将发布输出路径从文件共享格式(如'\localhost\builddrop')更改为本地计算机格式(如'C:\builddrop')。这可能会有所帮助。 PS:尝试在输出路径中将正斜杠'//'更改为反斜杠'\'。 - Maxsur

1
在您的“发布工件任务”中,您已经在“文件共享路径”中指定了“//localhost/builddrop/”,这是不正确的。您需要按照以下方式指定“文件共享路径”:\\servername\builddrop

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接