首页 > 解决方案 > 通过 powershell 的 nuget 命令部署 nuget 包时出现校验和问题

问题描述

在 powershell 脚本中,我使用 nuget 命令来打包、签名、验证和推送工件。

nuget sign $NugetFilePath -CertificatePath ".\$($ConfigInfo.ArtifactoryCredentials.CertificateFile)" -CertificatePassword $ConfigInfo.ArtifactoryCredentials.CertificatePassword
                           & nuget verify -All $NugetFilePath
                           & nuget push $NugetFilePath -Source $RepoKeyValue -SkipDuplicate -NonInteractive

使用上面的 nuget 命令链,我将 nuget 包部署到工件。然后检查它,我登录到 Artifactory UI 并看到以下内容:

  1. 包已上传。
  2. 校验和出现问题(检查附图) 在此处输入图像描述

我可以在控制台中看到 nuget 符号确实创建了 SH1A 哈希、SHA256 哈希。但我不知道这是否与我们上面提到的 Checksum 投诉有关。

现在,如果我使用 Artifactory UI 手动部署相同的 nuget 包,那么校验和投诉不再存在,想知道创建此校验和问题的 nuget 命令遗漏了什么。

任何想法 ?

标签: nugetartifactory

解决方案


一些客户端,例如 Maven,在部署工件并将其发送到存储库之前计算校验和。这允许验证上传的工件没有损坏或没有因任何其他原因而更改(例如中间人攻击)。
当您从 Artifactory UI 部署时,会计算校验和并将其与 Artifact 一起存储。
作为替代方案,您可以使用JFrog CLI部署Nuget 包。使用 JFrog CLI的好处包括并行上传/下载和校验和优化。


推荐阅读