为什么我得到“客户端没有发布一个校验值…”为npm包
关于Artifactory UI中的消息,上传的NPM包中的警告消息只是让你知道,作为工件的一部分,文件的部署校验和尚未提供,因此Artifactory无法验证工件的真实性。
默认情况下,Artifactory根据客户端校验和验证本地校验和值。因此,如果存在不匹配或客户端没有提供校验和,Artifactory会给出这个警告。因此,我们想知道二进制文件是如何部署到Artifactory的。
如果二进制文件是使用CI服务器部署的,则CI服务器需要配置为在PUT请求中使用以下报头传递校验和:
X-Checksum- sha1: sha1Value, X-Checksum- sha256: sha256Value, X-Checksum:校验和值
另一种选择是部署工件校验和,即使用JFrog CLI以便上传工件,甚至执行完整的构建NuGet,去,Npm,码头工人,Maven而且Gradle.
此外,Artifactory中的“Fix Checksum”选项只是接受Artifactory生成的校验和,它不会影响工件本身的任何类型的操作(下载/上传/覆盖/删除)。因此,以编程方式修复这个问题对于Artifactory的平稳运行并不是必需的。
关于验证校验和,一种方法是针对http://registry.npmjs.org验证SHA1工件,例如ansi-regex。
我们取它的SHA1
然后登记http://registry.npmjs.org/ansi-regex
