【问题标题】:Authentication issues when pushing packages to internal Azure Dev Ops package feed将包推送到内部 Azure Devops 包源时的身份验证问题
【发布时间】:2019-11-20 01:24:20
【问题描述】:

我无法弄清楚如何对包进行身份验证并将包推送到私有 Azure Dev Ops - Artifacts 源。我有一种预感,this 是我正在寻找的东西,但不太确定在使用 dotnet nuget push 时它是如何使用的。该文档仅向您展示了如何在使用包时使用它,而不是在将包发布到私有 nuget 提要(如 Artifacts)时。

当使用 DotNetCoreCLI@V2 任务并将环境变量 system.debug 设置为 true(以增加日志详细程度)时,我看到在幕后有一个 url 被检索为提要 url。

在构建任务中看起来像这样

sr/bin/dotnet nuget push /home/vsts/work/1/s/src/{ProjectName}/bin/Release/{MyPackage}.0.4.5-alpha-1911.nupkg --source https://pkgs.dev.azure.com/{MyOrganisation}/_packaging/7064a25a-fa3a-7dc1-a8cb-9d05a01100ef/nuget/v3/index.json --api-key VSTS

源 url 似乎是在每个构建上生成的唯一的,我认为这与我的问题有关。当转到 Azure Dev Ops 本身的提要选项时,提要本身将提要 URL 列为 https://pkgs.dev.azure.com/{MyOrganisation}/_packaging/{MyProject}/nuget/v3/index.json

不幸的是,没有任何效果。我在想,如果我可以使用私有访问令牌 (PAT) 对内部 nuget 提要进行身份验证,那就太好了。

我正在解决这个问题,因为我需要让它在 azure dev ops 之外工作,所以在我的用例中使用 azure pipelines 任务并不好。

【问题讨论】:

    标签: azure-devops nuget azure-pipelines dotnet-cli azure-artifacts


    【解决方案1】:

    我已经能够使用 NuGet.exe(nuget push 而不是 dotnet nuget push)成功地做到这一点。

    在 Feed 页面上,点击“连接到 Feed”按钮。那里有一个“下载 NuGet + 凭据提供程序”的链接。在 zip 文件中,会有 NuGet.exe 和 CredentialProvider.VSS.exe 的副本。将它们解压缩到同一个文件夹。

    当您从该目录运行 nuget push 时(从显示“推送包”的同一页面复制命令语法,替换您的 .nupkg 文件名)CredentialProvider 会提示您输入凭据并为您处理其余部分. CredentialProvider.VSS.exe 需要与 NuGet.exe 位于同一目录中

    【讨论】:

    猜你喜欢
    • 2019-07-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-28
    • 1970-01-01
    • 2022-10-19
    相关资源
    最近更新 更多