【问题标题】:How do I use "\\company\network\share\" as a NuGet source in TeamCity?如何在 TeamCity 中使用“\\company\network\share\”作为 NuGet 源?
【发布时间】:2018-05-04 23:09:19
【问题描述】:

我已检查 TeamCity 用户是否有权访问相关网络共享。

公共 NuGet 源中的所有包都能正确找到,而网络共享上可用的包却没有。

我们在通过 Visual Studio 构建时使用网络共享,路径完全相同。

我尝试过使用“file://ratchet/NuGetRepository”,但这并没有什么不同。

TeamCity 日志条目和构建步骤配置的屏幕截图如下所示:

NuGet command: E:\BuildAgent01\plugins\nuget-agent\bin\JetBrains.TeamCity.NuGetRunner.exe E:\BuildAgent01\tools\NuGet.CommandLine.DEFAULT.nupkg\tools\NuGet.exe restore E:\BuildAgent01\work\95323b7041b60513\MySolution.sln -Source https://nuget.org/api/v2/ -Source \\ratchet\NuGetRepository\

【问题讨论】:

    标签: nuget teamcity


    【解决方案1】:

    能够通过指定网络共享的完全限定名称来解决这个问题,例如\\ratchet.hq.local\NuGetRepository.

    【讨论】:

      【解决方案2】:

      由于接受的答案没有为我的设置提供解决方案,我想发布 允许 TeamCity 访问我的网络共享的内容。

      首先,非常重要的一点:TeamCity Build Agent 可以作为 Windows 服务运行,也可以直接在命令提示符下运行。对于我的机器,这会产生以下后果:

      1. 作为 Windows 服务运行时,构建代理以LocalSystem 登录。对于我们的网络共享,我的机器的凭据没有被授予权限。

        注意:虽然this SO thread 表示可以将网络共享配置为允许机器的LocalSystem 帐户拥有权限,但这是不适合我。
      2. 在命令提示符下运行时,构建代理将使用运行它的人的安全上下文(对我来说,它是我的域用户)。同样,对于我们的网络共享,所有域用户都被授予权限。

      快速的解决方案是简单地在命令提示符下运行构建代理并收工;但是,我确实希望将构建代理作为 Windows 服务运行,因为我认为这是一种更简洁的方法。

      这是我的解决方案:

      首先,我需要授予我的域用户作为服务登录的权限。这是使用我的域用户的安全上下文运行服务所必需的。我导航到本地安全策略中的用户权限分配

      控制面板 -> 管理工具 -> 本地安全策略 -> 本地策略 -> 用户权限分配

      接下来,我将我的域用户添加到 作为服务登录 设置。为此,我确保在我的用户名中包含域。

      现在我的域用户的安全上下文可以在启动服务时使用,我导航到服务 (services.msc),找到 TeamCity Build Agent,并编辑其属性:

      现在,当重新启动 TeamCity Build Agent Windows 服务时,它将能够访问网络共享,因为它使用的是我的域用户的安全上下文。我现在可以访问我们共享驱动器上的 Nuget 存储库,并使构建代理在后台运行。

      【讨论】:

        【解决方案3】:

        您可以在 NuGet.targets 文件中包含包源。只需找到注释行并添加您的路径即可。

        <PackageSource Include="https://nuget.org/api/v2/" />
        <PackageSource Include="\\ratchet\NuGetRepository\" />
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2016-12-17
          • 2012-09-25
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多