Nuget软件包验证在构建机器上花费的时间太长

问题描述 投票:0回答:1

我在CI管道中有一个构建步骤,在那里我为解决方案还原NuGet软件包。我正在从Sonatype Nexus上的NuGet托管存储库中检索我的NuGet软件包。程序包还原本身运行得足够流畅,但是挂起的步骤几乎需要2到3分钟才能验证某些程序包(在本例中为Microsoft提供的程序包)。我完成还原的生成代理无法访问互联网。这就是为什么我还在Sonatype Nexus上使用NuGet代理的原因。例如,它被挂起的步骤是:

PackageSignatureVerificationLog:PackageIdentity:Microsoft.Owin.3.1.0来源:... nuget \ packages \PackageSignatureValidity:真

我已经考虑过将可信签名者列表添加到我的构建的nuget配置中。但是由于我的机器无法访问互联网,因此不会很有帮助。如Microsoft文档中所述:https://docs.microsoft.com/en-us/nuget/reference/cli-reference/cli-ref-trusted-signers

https://docs.microsoft.com/en-us/nuget/reference/nuget-config-file中所述我还尝试将signitureValidationMode设置为<add key="signatureValidationMode" value="accept" />,这种情况下将默认验证软件包。即使这是默认情况,如果未成功连接也将接受它们。但这不会改变我的NuGet还原速度。

除了为我的解决方案所需的所有NuGet验证URL打开网络访问权限。

有没有一种方法可以设置NuGet配置以不以脱机模式为我的构建代理验证NuGet软件包的证书?

c# .net nuget nexus nuget-package-restore
1个回答
0
投票

经过一番挖掘,我发现了以下Microsoft document

这将解释脱机计算机(例如构建代理)上可能发生的速度下降问题以及可能的解决方案。

可以通过实现环境变量NUGET_CERT_REVOCATION_MODEoffline来解决此问题。

NUGET_CERT_REVOCATION_MODE = 'offline'

在作为詹金斯的工具中,您可以在环境变量中声明它,或者可以在构建计算机上运行命令来设置环境变量。

© www.soinside.com 2019 - 2024. All rights reserved.