繁体   English   中英

由于 Nuget 工件源上的 URL 格式错误,Azure DevOps dotnet 还原任务失败

[英]Azure DevOps dotnet restore task fails due to wrong URL format on Nuget artifact feed

我在 YML 文件中有以下恢复任务:

- task: DotNetCoreCLI@2
  displayName: Restore
  inputs:
    command: restore
    feedsToUse: select
    vstsFeed: MyFeedName

但是由于错误的提要 URL 导致恢复操作失败,日志中显示如下: https://pkgs.dev.azure.com/<organization_name>/_packaging/MyFeedName/nuget/v3/index.json ://pkgs.dev.azure.com/<organization_name>/_packaging/MyFeedName/nuget/v3/index.json

根据来自 DevOps 的“连接到 feed”信息,URL 应该采用以下格式: https://pkgs.dev.azure.com/<organization_name>/<guid>/_packaging/MyFeedName/nuget/v3/index.json ://pkgs.dev.azure.com/<organization_name>/<guid>/_packaging/MyFeedName/nuget/v3/ https://pkgs.dev.azure.com/<organization_name>/<guid>/_packaging/MyFeedName/nuget/v3/index.json

所以,它似乎没有插入导致它失败的<guid>部分。 我不知道如何在 YAML 中配置任务,以便它使用正确的 URL。 我该怎么做呢?

似乎它没有插入使其失败的部分。 我不知道如何在 YAML 中配置任务,以便它使用正确的 URL。 我该怎么做呢?

这个<guid>是你当前项目的 id。 当您将此DotNetCoreCLI@2任务添加到 yml 文件时, vstsFeed的值应类似于以下格式: {projectid}/{feedid}

例如,

- task: DotNetCoreCLI@2
  displayName: Restore
  inputs:
    command: 'restore'
    projects: '**/*.csproj'
    feedsToUse: 'select'
    vstsFeed: '54cc87c1-****-****-****-************/ff77923d-****-****-****-************'

如果您不知道如何获取ProjectId ,请参阅 Rest Api 文档: Projects - List

您可以在 Postman 中调用它,如下所示:

在此处输入图像描述

或者,您可以直接使用Feed 管理 - 获取 Feed同时获取您的项目 id 和 Feed id:

在此处输入图像描述

vstsFeed期待{projectid}/{feedid} ,而不是完整的提要 URL https://pkgs.dev.azure.com/{Organization Name}/{Project Name}/_packaging/{Feed Name}/nuget/v3/index.json 这些 id 是 GUID,可以使用以下步骤找到。

在 Azure DevOps 中打开您的项目,选择 Artifacts,从下拉列表中选择所需的源,然后单击“连接到源”按钮。 然后选择 Visual Studio,复制机器设置源 URL 并输入 URL https://pkgs.dev.azure.com/{Organization Name}/{Project Name}/_packaging/{Feed Name}/nuget/v3/index.json到你的浏览器。

您可以将生成的 JSON 复制并粘贴到 Visual Studio Code 中的新文件中,然后按 Alt-Shift-F 进行格式化,或者使用JSON Formatter for Edge等浏览器扩展来使 JSON 清晰易读。

资源中提供的任何 URL 都包含项目 ID(第一个 GUID)和提要 ID(第二个 GUID)。 例如从 URL...

https://pkgs.dev.azure.com/someorganization/acbd5515-415a-47fb-a0fb-d8880726b180/_packaging/1c7d43be-a18a-4567-ac5b-f8a8bd0f7617/nuget/v2/

您可以将以下 YMAL 添加到您的构建管道中。

- task: DotNetCoreCLI@2
  displayName: Restore
  inputs:
    command: 'restore'
    feedsToUse: 'select'
    vstsFeed: 'acbd5515-415a-47fb-a0fb-d8880726b180/1c7d43be-a18a-4567-ac5b-f8a8bd0f7617'

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM