RPM远程存储库-软件包与预期的下载不匹配

时间:2019-01-16 13:59:47

标签: artifactory rpm remote-repository

我们正在使用一个远程存储库,并在本地存储工件。但是,由于远程存储库会定期重建它托管的所有工件,因此我们遇到了问题。在当前状态下,我们会更新元数据(例如 repodata / repomd.xml ),但不会更新工件。

我们必须不断清除本地的 remote-repository-cache ,以允许其下载重建的工件。

有什么方法可以配置工件以使其重新缓存新工件以及新工件元数据?

在当前状态下,我们经常遇到的错误是

https://artifactory/artifactory/remote-repo/some/path/package.rpm:
[Errno -1] Package does not match intended download. 
Suggestion: run yum --enablerepo=artifactory-newrelic_infra-agent clean metadata

1 个答案:

答案 0 :(得分:2)

不幸的是,对此没有好的答案。版本下的工件应是不可变的;它是依赖性管理101。

我会尽最大的努力说服制作工件的团队停止重写版本。的确,有时更改元数据中依赖项的版本可能很麻烦,但是有很多方法可以解决(例如,在开发过程中解决最新补丁程序,如semver规范所支持),无论如何,这都不是一个很好的借口。

如果这是不可能的,我会考虑启用直接的存储库到客户端流传输(即disabling artifact caching),以防止出现过时的工件问题。

了解到远程存储库中发布的新工件之后,另一种解决方案可能是使用a user plugin或使用JFrog CLI清理缓存。