Azure devops 从副本发布nuget包
看来我的队友们已经关掉了nuget服务器,去度假了。 我需要一个临时解决方案,以便在恢复nuget包时我的Azure开发操作构建不会失败 我有一份包裹的本地副本 C:\Users\kirst.nuget\packages\mypackagetemp 我想发布到一个临时提要 我阅读了说明,但对第6步感到困惑 当然我不需要设置项目和恢复包,因为我已经有了.nupkg 我试过这个命令Azure devops 从副本发布nuget包,azure-devops,nuget-package,Azure Devops,Nuget Package,看来我的队友们已经关掉了nuget服务器,去度假了。 我需要一个临时解决方案,以便在恢复nuget包时我的Azure开发操作构建不会失败 我有一份包裹的本地副本 C:\Users\kirst.nuget\packages\mypackagetemp 我想发布到一个临时提要 我阅读了说明,但对第6步感到困惑 当然我不需要设置项目和恢复包,因为我已经有了.nupkg 我试过这个命令 c:\nuget\nuget.exe push -Source "TempFeed" -ApiKey az mypac
c:\nuget\nuget.exe push -Source "TempFeed" -ApiKey az mypackagetemp.nupkg
但我犯了一个错误
无法加载源的服务索引
当我重复该命令时,我会收到一个凭据请求
当我输入凭据时,我连接到Azure开发人员操作系统,但这些凭据不起作用
[更新]
我被要求出示证件。。读起来。。。太令人困惑了
[更新]
我将nuget.exe从5.1.0.6013升级到了最新版本5.4.0.6315,这次我得到了一个要登录的UI和消息
你的包裹被推了
但是,当devops管道构建运行时,我会收到一条消息
unable to load the service index for source
https://pkgs.dev.azure.com/mycompany/myproject/_packageing/TempFeed/nuget/v3/index.json
我想我需要创建一个index.json文件
我的项目使用的mynuget.config在packagesources中包含以下内容
<add key="TempPackage" value="https://pkgs.dev.azure.com/mycompany/_packaging/myfeed/nuget" />
“Serilog.Enrichers.Thread”,
响应状态代码不表示成功:404(未找到)。)
我的解决方案使用Serilog。我认为第三方软件包没有使用它
[更新]
下次构建时,我在查找WindowsAzure.Storage时遇到了另一个错误
每次构建管道时,我似乎都会得到一个不同的文件,从而导致错误
我的项目工件有2个提要。需要的文件在未选择的提要中
[更新]
我试图编辑mynuget.config以使用index.json,但出现了生成错误
nuget命令失败,退出代码(1)和错误(无法加载)
源的服务索引
.
响应状态代码不表示成功:404(未找到-错误)
ID为“MyFeed”的源不存在
[更新]
因为新的feed是基于项目的,所以我编辑了mynuget.config以
<add key="TempPackage" value="https://pkgs.dev.azure.com/mycompany/_packaging/myfeed/nuget/v3/index.json" />
<add key="TempPackage" value="https://pkgs.dev.azure.com/mycompany/myproject/_packaging/myfeed/nuget/v3/index.json" />
现在它可以工作了!在Azure Devops web门户中,对于您当前的项目,请转到Artifacts
选项卡,并确保您的包如mypackagetemp.nupkg
在那里可用
对我来说,我有自定义的LibraryCore.nupkg
推到那里。现在让我们单击connecttofeed
设置,选择nuget.exe
,您可以看到:
将完全相同的内容复制到您自己的mynuget.config
文件中。然后,您的构建管道可以访问您发布的mypackagetemp.nupkg
无法从中检索有关“Serilog.Enrichers.Thread”的信息
远程源
““Serilog.Enrichers.Thread”,
响应状态代码不表示成功:404(未找到)。)
下一次构建时,我在查找时遇到了另一个错误
WindowsAzure。存储
这些包(Serilog.Enrichers.Thread
,WindowsAzure.Storage
和…)都可以在nuget.org中找到,因此您还应该确保已将nuget.org作为包源添加到配置文件中:
此外:
根据您的描述,您只需要使用来自nuget.org
的自定义devops提要和其他包,除了使用mynuget.config
之外,您还可以像这样配置nuget restore
任务:
直接选择devops提要(第二条红线)通过feed,我在这里选择而不是在我的Nuget.config
中选择feed。并选中Use packages from Nuget.org
复选框。然后您可以在构建过程中访问自定义feed和Nuget.org中的包。请参阅,如果您使用Nuget还原任务或类似任务,我们可以确定feedstouse
,选择>(使用devops feed+nuget.org)或config
(自定义nuget.config文件)。对于您得到的错误,这意味着401未经授权。因此这是一个与权限相关的问题。您可以使用选择
方式,导航到Artifacts=>feed settings=>permissions=>add user/groups=>add yourcurrent projectName build service
作为所有者角色,以确保您的构建有权从feed获取包。my temp源属于项目范围。我想知道它是否需要组织范围1。如果您的临时源和当前生成管道属于同一个项目,那么它应该可以工作。如果您的临时源属于项目A而生成管道属于项目B,则您应该确保项目A已将项目B生成服务帐户添加为成员,以便项目B的构建管道可以访问来自项目A的提要。2.如果您在回答中看到我的更新,则在配置还原任务(使用UI)时,可以使用select方式而不是mynuget.config,单击Azure Artifacts/tfs feed中的使用包的下拉列表,如果您能在那里找到所需的源,请单击该列表。我的tempfeed属于该项目,但我仍然需要在mynuget.config中提及该项目的名称。这可能是因为该项目还使用了公司范围的包。我在mynuget.config中有nuget.org。我没有确定我为什么需要为myProjectSamples创建index.json或如何it@KirstenGreed为什么要手动创建index.json?既然您成功地推送了包,那么您就可以使用URL格式xxx/index.json
,我们实际上不需要自己创建它……您只需要按照上面的步骤来确定URL是什么你需要复制到MyNuget.config文件。另外,我猜你的错误发生在nuget还原步骤中,你可以在那里检查你的日志,在日志的末尾,你可以看到类似于使用的提要的内容,确保你的MyNuget.config能够提供正确的提要。你有关于如何创建和推送索引的说明吗?json?@Kirst对不起,我不知道该怎么做