【问题标题】:TFS2012 - Access denied on copying diagnostic activity logsTFS2012 - 复制诊断活动日志时访问被拒绝
【发布时间】: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$ 的访问权限是导致共享权限不正确的原因。

标签: tfs tfsbuild


【解决方案1】:

根据 cmets 中的讨论添加分辨率

构建控制器帐户需要对放置位置具有 R/W 权限。 TFSAT01$ 帐户在此处配置,而构建控制器被配置为网络服务。由于这些不是真正相同的帐户,因此需要对 NT AUTHORITY\NETWORK SERVICE 提供 R/W 权限。

【讨论】:

    【解决方案2】:

    构建控制器必须在对放置位置具有 R/W 权限的同一帐户下运行。我建议对构建代理和构建控制器使用相同的用户帐户。

    【讨论】:

      【解决方案3】:

      在 TFS 构建控制器上,右键单击 XAML 构建配置 > [您的构建服务]

      点击“停止服务”

      点击Run service as: section下的“change”按钮

      使用可以访问 TFS 存储库和放置位置的用户。

      附言使用 TFS 2015

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2019-03-16
        • 1970-01-01
        • 1970-01-01
        • 2017-06-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多