【问题标题】:Unable to access private VSTS package feed from build using dotnet restore无法使用 dotnet restore 从构建访问私有 VSTS 包源
【发布时间】:2017-05-11 10:35:36
【问题描述】:

我在 Visual Studio Team Services (VSTS) 中有一个版本,它需要从 VSTS 中托管的私有包源中恢复 NuGet 包。当构建尝试访问私人提要时,构建失败并显示未经授权的消息 (401)。

经过阅读后,我发现我应该使用Microsoft VSTS Credential Provider for NuGet 访问私人订阅源。通常我不会反对向每个存储库添加工具,但困扰我的是这个可执行文件高达 14MB,我需要将它包含在很多存储库中。

我尝试通过为凭据提供程序包添加“下载包”任务来解决此问题,但这仅适用于 VSTS 提要,不适用于 NuGet 提要。

现在我想知道我在这里做的是否正确,因为这不应该那么困难。凭据提供程序不应该默认安装在构建服务器上,还是至少可以作为任务提供?

【问题讨论】:

    标签: azure-pipelines azure-pipelines-build-task azure-artifacts


    【解决方案1】:

    我能够通过将 dotnet restore 任务换成 NuGet 恢复任务来解决它。该任务允许我指向一个 VSTS 包提要。奇怪的是dotnet restore任务doesn't support凭证提供者。

    【讨论】:

    • 这是目前 dotnet 任务的限制,源于 dotnet 本身的潜在限制。我们已经注意到这个问题,并且正在积压改善体验。
    • 对我来说,我还在构建开始时添加了一个“NuGet Tool Installer”任务并设置为 4.3.0,它解决了问题
    • 查看新的 NuGet 身份验证任务,该任务设置了身份验证,因此您可以在以后的脚本步骤中随意调用 NuGet 或 dotnet。
    【解决方案2】:

    您可以通过为 .Net Core 还原步骤/任务指定 –configfile 参数来指定 Nuget.config 文件,例如:--configfile $(build.sourcesdirectory) /Nuget.Config

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-01-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-16
      相关资源
      最近更新 更多