Azure DevOps Artifacts Feed 包含 NuGet Gallery 包

Mar*_*Tin 3 azure-devops

目前,我尝试在我的 Azure DevOps Server(自托管)上建立nuget/dotnet pack构建和发布管道。

  • 构建管道构建源代码,将它们打包nupkg并上传到drop artifacts.
  • 当包更新时,nupkg从文件夹中释放管道grepdrop并执行, 。nuget push

因此,我创建了一个工件 feed,测试管道,运行连接到 feed 的代理并构建解决方案,一切都很好。几个小时后,我检查了我的 feed,发现该 feed 包含来自NuGet Gallery 的标准包。

在此输入图像描述

首先我想,我不小心推动了管道,所以我删除了提要,稍后(在后台清理之后)我创建了一个具有相同名称的新提要。几分钟后,来自NuGet Gallery 的包再次进入,但没有运行我的管道。

这怎么可能,我是不是理解错了什么?

我的自托管代理的配置\AppData\Roaming\NuGet\NuGet.Config

<configuration>
  <packageSources>
    <add key="nuget.org" value="https://api.nuget.org/v3/index.json" protocolVersion="3" />
    <add key="MyFeed1" value="https://mylocalurl.de/ColA/_packaging/ProjA/nuget/v3/index.json" />
  </packageSources>
</configuration>```
Run Code Online (Sandbox Code Playgroud)

Leo*_*SFT 6

Azure DevOps Artifacts Feed 包含 NuGet Gallery 包

这是预期的行为。

这是因为,如果您在创建此提要时将来自公共源的包设置为启用,则默认情况下您的私有 Nuget Feed 设置nuget.org为上游源:

在此输入图像描述

然后进入Setting-> Upstream source,你会发现列出了三个公共源:

在此输入图像描述

在此输入图像描述

您可以使用过滤器来选择包的源。

当我们从上游源下载任何包时,Azure Artifacts feed 会在我们从上游源下载任何包时自动缓存这些包,以便我们下次可以看到它,而无需再次从上游源下载

如果您不想使用缓存这些包,则可以Only use packages published to this feed在创建源时选择下一个选项。