【问题标题】:TFS 2017 - NuGet Publisher step during a build fails with 401 UnauthorizedTFS 2017 - 构建期间的 NuGet Publisher 步骤失败,出现 401 Unauthorized
【发布时间】:2017-12-26 14:21:47
【问题描述】:

我有一个构建定义,其中包括将 NuGet 包打包和发布到内部源的步骤。该内部提要驻留在同一 TFS 服务器上。

  • 这是预先准备好的
  • TFS 2017 15.105.25910.0
  • Feed 的权限为:
  • 所有者:
    • [我的帐户]
    • [集合]\项目集合管理员
  • 贡献者
    • 项目集合构建服务(TEAM FOUNDATION)
  • 读者
    • [集合]\项目集合有效用户

NuGet 包步骤工作正常,但 NuGet 发布步骤失败并出现以下错误:

Unable to load the service index for source https://[server]/[collection]/_packaging/Feed/nuget/v3/index.json. 
Response status code does not indicate success: 401 (Unauthorized).

我在构建定义的早期放入了一个 Powershell 脚本,以确定在构建过程中使用的确切帐户,它指示 Project Collection Build Service (TEAM FOUNDATION),它有权贡献到提要。

这里是 C:\Windows\ServiceProfiles\NetworkService\AppData\Roaming\NuGet> 的 Nuget.Config 文件的内容

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <disabledPackageSources>
    <add key="Microsoft Visual Studio Offline Packages" value="true" />
  </disabledPackageSources>
  <packageSources>
    <add key="nuget.org" value="https://api.nuget.org/v3/index.json" protocolVersion="3" />
  </packageSources>
</configuration>

还有哪些其他信息可以帮助我诊断问题?

【问题讨论】:

  • 在我的收藏的安全选项卡下,然后在 TFS 组下,在组安全服务组中,我列出了以下成员:[TEAM FOUNDATION]、Build\{guid}、Build {Different Guid }。似乎它应该解析为用户名而不是 Guid?这里可能有什么东西坏了?

标签: tfs build nuget


【解决方案1】:

检查您的 TFS 服务器中的默认访问级别是否设置为“Stakeholder”。

如果是这样,手动将 TFS 服务帐户/项目集合构建服务显式添加到 高级 组并尝试再次运行构建。更多详情请参考类似问题:TFS 2017 NuGet publisher task fails with 401 - Unauthorized exception

【讨论】:

  • 根据我的 TFS 服务器,“高级访问级别已被弃用。测试管理器扩展包括以前高级访问级别的所有测试功能。”我应该将用户添加到 VS 企业访问级别吗?
  • 另外,我的默认访问级别设置为基本,而不是利益相关者。
  • @Dbloom 是的,看来您正在使用 TFS2017 update2。对于此版本,如果您有活动的 Visual Studio Enterprise 订阅者,请使用 VS Enterprise 访问级别,否则您仍然可以使用高级访问权限。将 TFS 服务帐户/项目集合构建服务显式添加到 VS 企业访问级别并再次触发构建以查看问题是否已解决。
  • 实际上我们使用的是 TFS 2017 RTM。就在今天早上,我们确实升级到了 TFS 2017 Update 2。我会尝试您的建议并报告。
  • 原来失败是因为在 IIS 中启用了基本身份验证。请看下面我的回答。禁用它后,我就可以使用最新版本的 NuGet。
【解决方案2】:

您是否在 IIS 中为 tfs 网站启用了基本身份验证?这是我的 TFS 2017.2 实例出现问题的原因。一旦我禁用它,构建就成功了。

“TFS 期望 IIS 级别的基本身份验证设置为关闭。”

https://developercommunity.visualstudio.com/content/problem/110312/tfs2017-build-nuget-unable-to-restore-package-from.html

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-01-08
    • 2019-01-04
    • 2019-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多