ARTIFACTORY:本地存储外部debian包的必要条件,计算你的坐标
我们经常收到客户关于从远程存储库中提取并在本地缓存的工件的请求,现在需要将其移动到不同的位置,或者像对待本地Artifactory存储库一样对待它们。
用户想要这么做的原因有以下几点:
-审计一个从外部抽取的新包,然后将其保存到本地存储库,以控制开发者对外部包的访问。
-上游存储库不再可访问。
-迁移到新的Artifactory实例。
在所有情况下,用户要记住的最重要的事情是,能够成功地与存储库中的包进行交互的关键是包元数据,它允许客户端识别Artifactory中的存储库和包是合法的。
当通过远程存储库从上游存储库提取包时,上游存储库将已经包含元数据,因此元数据将与包一起提取并存储在远程存储库的缓存中。当一个包被部署到Artifactory到本地存储库时,Artifactory使用关于已发布包的信息来计算元数据,并将其与包一起部署在repo中。
对于发布到本地存储库的Debian包,用户在发布时包括包的发行版、体系结构和组件。这些被保存为已部署工件上的属性。
Artifactory使用这些属性来计算相关的元数据文件,例如Packages.gz和Release文件。
然而,从外部源提取的包并没有这些相关的属性,因为这是Artifactory特定的特性。
为了解决这个问题,我们有下面的API调用,它将把这些属性应用到缓存在远程存储库中的文件,以便Artifactory能够在需要时计算元数据。
//www.si-fil.com/confluence/display/JFROG/Artifactory+REST+API#ArtifactoryRESTAPI-CalculateCachedRemoteDebianRepositoryCoordinatescurl -u user:
对于外部缓存的Debian工件的长期存储,请记住定期运行此调用,以确保始终能够计算Debian元数据。