【发布时间】:2020-07-09 01:48:41
【问题描述】:
我对 TFS2012 构建有一个问题,我似乎无法弄清楚也找不到任何解决方案。
设置:
单独的 SQL 服务器、单独的 TFS 应用程序服务器 (TFSAT01 / WinSvr08R2) 和单独的构建机器 (TFSBLD01 / Win7x64)。
在 TFSAT01 上创建的丢弃共享 - 授予我们域中的两台计算机的 R/W 访问权限:TFSAT01$ 和 TFSBLD01$(根据 #8 http://msdn.microsoft.com/en-us/library/bb778394.aspx)
在 TFS 应用上配置了构建控制器。服务器 TFSAT01。
构建代理正在构建机器 TFSBLD01 上运行。
问题:
我的 CI 构建完成并将所有二进制文件复制到放置共享。
但是我在构建输出窗口的其他错误和警告下不断收到一个错误消息:“将诊断活动日志复制到放置位置时发生错误。详细信息:拒绝访问路径“\TFSAT01\Drops\PRODUCT-CI\PRODUCT-CI_20130211.16\Logs\ActivityLog.xml”。”。 ActivityLog.xml确实写好了,可以访问了。
任何想法为什么我得到这个错误,即使共享似乎配置了正确的访问权限?
注意: 我可以通过指定要使用的构建代理的用户帐户(也具有对 drop 共享的 R/W 访问权限)来解决此错误 - 但我宁愿坚持使用构建控制器使用的默认 NetworkService 凭据和代理。
【问题讨论】:
-
您能否在放置位置提供对网络服务(构建控制器帐户)而不是 TFSAT01$ 的读写访问权限。
-
我无法专门将 TFSAT01\NetworkService 帐户添加到共享中。但我认为这就是我通过添加 TFSAT01$ 来有效执行的操作 - 其中 $ 表示所有本地计算机帐户。
-
细微差别 - 网络服务是本地身份,而 $ 帐户是在该机器之外看到的相同身份。使用“NT AUTHORITY\Network Service”或“Network Service”添加并告知我们是否可以解决问题。
-
更新:仅通过“与-->特定人员共享”添加“NT AUTHORITY\NetworkService”不会产生任何结果 - 帐户已添加,但在查看共享权限时,该帐户根本没有列出.
-
更新 2:我尝试删除共享,重新创建它,然后添加具有 R/W 访问权限的 DOMAIN\TFSAT01$ 帐户。这似乎有效。可能是 DOMAIN 是这里的关键因素,最初仅授予对 TFSAT01$ 的访问权限是导致共享权限不正确的原因。