我们正在使用远程存储库并在本地存储 Artifactory 。然而,我们遇到了一个问题,因为远程存储库会定期重建它托管的所有 Artifactory 。在当前状态下,我们更新元数据(例如repodata/repomd.xml),但 Artifactory 不会更新。
我们必须不断清除本地远程存储库缓存,以允许其下载重建的 Artifactory 。
我们有什么方法可以配置artifactory以允许它重新缓存新的artifactory以及新的artifactory元数据吗?
在我们当前的状态下,我们经常遇到的错误是
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
最佳答案
不幸的是,对此没有好的答案。版本下的 Artifactory 应该是不可变的;这是依赖管理101。
我会尽最大努力说服制作 Artifactory 的团队停止覆盖版本。确实,有时更改元数据中依赖项的版本可能很麻烦,但有一些方法可以解决它(例如在开发过程中解决最新补丁,如 semver 规范中所支持的),无论如何,这都不是一个好的借口。
如果这是不可能的,我会考虑启用直接存储库到客户端流(即 disabling artifact caching )以防止过时 Artifactory 的问题。
另一个解决方案可能是使用a user plugin清理缓存。或使用 JFrog CLI 的脚本一旦您了解远程存储库中发布的新 Artifactory 。
关于artifactory - RPM 远程存储库 - 包与预期下载不匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54218718/