为什么插件不能正确加载?

大卫徐
2023-01-22还剩11分08秒

主题

如何解决用户插件不能正确加载、损坏或需要永久删除的问题

影响版本

5.11.xand below

描述

已知问题在Artifactory中可能导致Artifactory不能正确传播用户插件和/或依赖项。在主节点上加载插件包括提交的内容美元ARTIFACTORY_HOME / etc /插件到数据库,它被部署到辅助节点。错过的删除事件意味着插件对象仍然驻留在数据库中,尽管被“删除”,插件仍将继续加载。在从数据库提取文件时可能会发生损坏,并可能导致辅助节点上传播的插件失败。

以下是这些问题的一些症状:

  • 重载插件REST API对次级淋巴结没有影响吗
  • 删除主节点上的插件似乎不会将更改传播到辅助节点。
  • 当主节点工作时,尝试在辅助节点上执行插件失败。
  • 运行sha1sum在插件文件上并比较主节点和辅助节点之间的结果将返回不同的校验和

决议

删除受影响的插件
为了永久删除插件,你必须从Art_home/etc/plugins下的插件文件夹和Artifactory实例数据库中删除插件。
在您的Artifactory实例的数据库中,转到:Apps→Tables→Configs

用户添加图片
删除该表中的相关文件,并在每个节点上重新加载插件。例如,如果你的插件生成的文件名中有cat,那么你可以找到并删除所有类似的文件删除配置where CONFIG_NAME like '%%’;

您可能还需要使用大写来删除它删除配置where CONFIG_NAME like '%%’;

损坏的插件依赖
如果插件依赖项的校验和在主节点和辅助节点之间不匹配,则上述删除过程可能无法解决您的问题。

解决这个问题的方法是手动重新部署依赖项美元ARTIFACTORY_HOME / etc / libs /插件用不同的名字。不删除原始损坏的依赖项

  • 创建一个原始插件依赖项的副本
  • 将这些依赖项重命名为不同的名称
  • 将这些重命名的文件移动到每个辅助节点美元ARTIFACTORY_HOME / etc / libs /插件
  • 不删除原始损坏的依赖项