ARTIFACTORY:如何识别和修复丢失客户端校验和的所有工件
Aritfactory中的工件具有客户端校验和和服务器校验和。服务器校验和由人工计算,而客户端校验和由部署者提供。
您可以参考这篇文章了解更多关于客户端校验和、服务器校验和和校验和策略.
如果客户端的校验和丢失,而您的校验和策略是客户端校验和。你会看到警告。”客户端未发布校验和值…”。您还可以在UI中单独修复校验和。
但是,如果您有许多缺少客户机校验和的出口构件,则可能需要可伸缩的解决方案。
您应该首先尝试验证您是如何部署工件的,并检查为什么没有部署客户端校验和,以便新部署的工件没有问题。
更改校验和策略
如果您正在寻求立即解决方案,那么绕过混合客户端校验和问题的最简单方法是更改校验和策略。
在本地存储库设置中,您可以将校验和策略从“根据客户端校验和进行验证”更改为“信任服务器生成的校验和”。
请注意,某些存储库类型不支持在UI中直接更改校验和策略。您需要修改配置描述符并进行更改< localRepoChecksumPolicyType > client-checksums < / localRepoChecksumPolicyType >
来< localRepoChecksumPolicyType > server-generated-checksums < / localRepoChecksumPolicyType >
识别repo中缺少客户端校验和的所有工件
识别缺少客户端校验和的所有工件的最快方法是运行以下查询:从sha1_original为NULL且sha1_actual不为NULL且repo= ' some_repo '的节点中选择repo, node_path, node_name;
批量修复校验和
目前,我们还没有一个api来修复整个存储库的校验和。
如果您需要快速修复以更新repo中所有缺失的校验和,您可以运行以下查询:
更新节点设置sha1_original=' no_origin ',其中sha1_original为NULL且sha1_actual不为NULL, repo= ' some_repo ';
请注意,db模式可能会更改,因此请在运行上述查询之前进行备份
