我在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 ERROR 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 Dest - \ 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 ERROR 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 ## [错误]资源复制失败: Server 2017-08-03T09:26:54.0268146Z ## [错误]复制失败。请教 robocopy日志了解更多详情。
我明白要执行一个windows机器文件复制管理员用户只需要管理员访问目标服务器,他们实际上是否也需要访问构建服务器?
这可能是一个问题的原因是某些服务器位于DMZ内部,因此无法访问我们的Active Directory。我不知道如何让一个用户拥有管理员访问我们网络中的服务器和DMZ中的服务器。如果是这种情况,我想知道如何使用TFS版本管理将我们的人工制品部署到这些服务器。
答案 0 :(得分:2)
对于Windows计算机文件复制任务中的Access is denied
错误。正如上面讨论的评论一样,您需要为服务帐户的Web服务器上的共享文件夹提供足够的权限。
至于使用本地管理员帐户部署到DMZ中的服务器。有两种选择:
选项1 - 使用WMF-v5和PowerShell任务
要通过WMF v5中的WinRM会话发送文件,您可以使用Copy-Item 小命令。例如,
$session = New-PSSession -ComputerName <computername> Copy-Item <yourfile> -Destination 'C:' -ToSession $session
选项2
DMZ中的机器是否具有TFS内部部署的视线?如是, 像丹尼尔建议的那样最简单,你可以部署一个代理 服务器并使用TFS进行配置。你可以使用类似的阴影 accounts方法用TFS配置代理。
配置完成后,代理会自动将相关工件下载到 本地机器。
更多详情请参阅此问题中 Roopesh Nair的答案:TFS 2015 Update 2 Release Management - Deploying across untrusted domains and to servers in the DMZ