【问题标题】:how do I add a package to a devops artifact? (NonAuthoritativeInformation your package was pushed)如何将包添加到 devops 工件? (您的包裹被推送的非权威信息)
【发布时间】:2021-06-22 06:20:16
【问题描述】:

访问我的正常包裹提要暂时失败,我需要组织一个替代方案。

我在本地有相关文件

如果我可以简单地将它们上传到提要中,那就太好了。 但我看不到上传选项可以做到这一点。

当我点击连接以供稿时,我会看到说明

nuget.exe push -Source "feedname" -ApiKey az <packagePath>

所以我在dos命令行下尝试了 但是出错了

The specified source 'feedname' is invalid. Provide a valid source.

Feed 确实存在。

[更新]

在听从 Turbot 的建议后,在确定我的用户名是我的电子邮件后,我收到了一条消息 NonAuthoritiveInvormation "Your package was push" 但我还没有看到它。

检查this issue

[更新]

我的命令是这样的

nuget.exe sources add -Name "MyFeedName" -Source "https://dev.azure.com/MyTeam/MyApp/_packaging?_a=feed&feed=MyFeedName" -username "kirsteng@mydomain.com.au" -password "mypat"


nuget push -Source "MyFeedName"  -ApiKey az C:\Users\kirst\.nuget\packages\mypackage\1.0.173\mypackage.1.0.173.nupkg

我将命令放入 .bat 文件中 当我重新运行它时,我也看到了

The name specified has already been added to the list of available package sources. 
Provide a unique name.

我想这是有道理的。

我也看到了

NonAuthoritiveInformation 
https://dev.azure.com/MyTeam/MyApp/_packaging?_a=feed&feed=MyFeedName 
Your Package was pushed

但事实并非如此。

我也尝试用双引号将包名括起来。

我从输入 nuget 看到?那个

 push              Pushes a package to the server and publishes it.
                   NuGet's default configuration is obtained by loading %AppData%\NuGet\NuGet.config, then loading any n
                   uget.config or .nuget\nuget.config starting from root of drive and ending in current directory. 

我想知道这是否相关。

Nuget.exe 是版本:5.9.1.11

这里是the docs

[更新]

我发现添加命令正在写入

C:\Users\kirst\AppData\Roaming\NuGet\Nuget.Config

我对其进行了编辑以删除提要并重新运行我的 bat 文件。 然后我就可以让它工作了。

我错的另一件事是网址本身。应该是这样的

https://pkgs.dev.azure.com/mycompany/myapp/_packaging/myfeedname/nuget/v3/index.json

【问题讨论】:

  • 不确定您是否正确使用源 URL,但如果您(假设使用 Azure DevOps 服务)导航门户菜单 Azure Artifact -> 选择您的提要 -> 单击连接到提要,选择 Nuget.exe -> 会给你说明,查看 url 的值以及需要在 Nuget.Config 中添加或使用我共享的命令。
  • 在您的帮助下,我现在可以正常工作了。 Connect to Feed 上的说明非常混乱。要求我安装 Azure Artifacts 凭据提供程序并将 nuget.config 文件添加到我的项目中。好吧,我不想有一个项目!而且我正在使用 PAT,所以我不需要安装凭据提供程序。
  • 很高兴它对你有用!说明适用于新手。

标签: azure-devops nuget azure-artifacts


【解决方案1】:

准确地说是在 Azure DevOps 中使用 Nuget 您需要在 nuget.config 或命令中提供用户 ID 和 PAT。

nuget sources add -Name <SourceName> -Source <SourceURL> -username <UserName> -password <Pat>
nuget push -Source <SourceName> -ApiKey az <PackagePath exp:(.\Get-Hello.1.0.0.nupkg)>

【讨论】:

  • 谢谢。我在 push 命令中犯了一个错误。 exp:(. ? 是什么意思
  • exp 是示例 :) ,您可以提供 之间的值
【解决方案2】:

我最近在做这个 Artifacts 提要工作时遇到了类似的问题。我的学习如下

  1. MS 的文档在这方面不是很好(在一个地方)。所以这对我来说主要是反复试验。

  2. 可用于发布包的 PAT 应具有此范围

  3. 如何获取 feed url?

    • 在 ADO Web UI 中,转到 Artifacts 并在下拉列表中选择您的 Feed
    • 按“连接到 Feed”
    • 如果您使用 nuget 作为提要,请单击 Nuget.exe 选项。
    • 右侧,它将显示您的网址以及将其添加到 nuget.config 中的步骤。
  4. 但如果您想拉包,上述方法很好。通过命令行推送包怎么说? 使用这两个命令我们可以做到这一点

    nuget 来源添加 -Name "您的提要名称" -Source "提要 url" -用户名 -password "PAT with Packaging scope"

    nuget push -Source "Your feed name" -ApiKey "一些字符串,我不确定它是否用于推送包"

【讨论】:

  • 陷阱是 nuget 查找配置文件,其中的内容很重要。我想这就是我绕圈子的原因。
猜你喜欢
  • 2021-03-08
  • 2020-03-18
  • 1970-01-01
  • 2011-11-09
  • 2022-10-15
  • 2019-07-04
  • 1970-01-01
  • 2020-06-27
  • 1970-01-01
相关资源
最近更新 更多