簡體   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