【发布时间】:2017-08-07 20:39:40
【问题描述】:
我在 TFS 2015 中复制 Windows 机器文件时遇到了一些问题。
我们正在使用机器文件复制将我们的工件移动到 Web 服务器,然后运行 IIS 部署。当它在我的凭据下运行时,它工作正常。但是,当我尝试在本地计算机上使用管理员运行它时,出现以下错误。
2017-08-03T09:26:52.4173924Z ROBOCOPY :: 强大的文件复制 适用于 Windows
2017-08-03T09:26:52.4173924Z -------------------------------------------------- ----------------------------- 2017-08-03T09:26:53.6518030Z 开始时间:2017 年 8 月 3 日 10:26:52 2017-08-03T09:26:53.6518030Z 2017/08/03 10:26:53 错误 5 (0x00000005) 获取目标 \Server\C$\Deployment 的文件系统类型 Folder\Release\ 2017-08-03T09:26:53.6518030Z 访问被拒绝。
2017-08-03T09:26:53.6518030Z 来源: C:\Agent\agent_work\03f953eca\Release CI 测试\drop_PublishedWebsites\Site_Package\
2017-08-03T09:26:53.6518030Z 目标 - \Server\C$\Deployment Folder\Release\ 2017-08-03T09:26:53.6518030Z 文件:.
2017-08-03T09:26:53.6518030Z 2017-08-03T09:26:53.6674336Z
选项:. /S /E /DCOPY:DA /COPY:DAT /B /R:1000000 /W:30
2017-08-03T09:26:53.6674336Z -------------------------------------------------- ---------------------------- 2017-08-03T09:26:53.9643156Z 2017/08/03 10:26:53 错误 5 (0x00000005) 创建目标目录 \Server\C$\Deployment Folder\Release\ 2017-08-03T09:26:53.9643156Z 访问被拒绝。
2017-08-03T09:26:53.9955634Z \Server 已成功删除。
2017-08-03T09:26:54.0268146Z ##[错误]资源复制失败: 服务器 2017-08-03T09:26:54.0268146Z ##[错误]复制失败。咨询 robocopy 日志了解更多详情。
我知道要执行Windows机器文件复制管理员用户只需要对目标服务器的管理员访问权限,他们实际上是否也需要访问构建服务器?
这可能是个问题的原因是某些服务器位于 DMZ 内,因此无法访问我们的 Active Directory。我不明白如何让一个用户拥有对我们网络中的服务器和 DMZ 中的服务器具有管理员访问权限的用户。如果是这种情况,我想知道如何使用 TFS 发布管理将我们的人工制品部署到这些服务器上。
【问题讨论】:
-
从本质上讲,这不是 TFS 问题,而是权限问题,如果代理运行的用户没有文件夹的权限,它将永远无法工作。您能否在目标服务器上安装 TFS 代理?
-
如果您手动使用 robocopy 命令将文件从构建服务器复制到目标计算机,会出现什么结果?如果问题与 tfs 相关,这将缩小范围。
-
大家好,感谢您的指点。你是对的,这完全取决于权限。我以服务帐户登录构建服务器,无法访问该文件夹。因此,我与所有人共享了 Web 服务器上的文件夹,然后可以访问它。所以 Robocopy 现在可以正常工作了。 Web 部署现在不适用于本地管理员,所以这是下一个问题 ;)