Artifactory旧版本

时间:2016-09-07 15:26:09

标签: artifactory

所以我非常想镜像一个完整的回购,但似乎并不那么容易(How do I use Artifactory to mirror linux distributions?证明了这一点)

我有一个问题,让我说我在Artifactory中有一个远程仓库设置,我设置为永不过期缓存。从源代码库中删除包但是在Artifactory的缓存中会发生什么?我还可以通过apt / yum或其他任何方式安装它吗?一个很好的例子是Ubuntu PPA,当它们被取代时它们似乎删除旧版本,但我想使用Artifactory来版本冻结某些包。

1 个答案:

答案 0 :(得分:2)

通常,一旦工件被缓存(即至少下载一次),您就不应该关注上游存储库中工件的状态。这就是为什么Artifactory在除了你自己的内部存储库之外你不能依赖任何东西的情况下表现优异的原因。

但完整的答案比这复杂一点。 Artifactory使用我们称之为"可过期资源"。这些文件定期"到期"根据"元数据检索缓存期"中定义的时间段。远程存储库的参数 - 请参阅讨论此参数的Cache Settings部分以及其他一些参数。

请注意,此设置仅影响Artifactory认为可过期的特定文件。这些始终是元数据文件,例如" Packages"文件或"发布"例如,Debian存储库的文件。基本假设是这些文件偶尔会在上游存储库中更改,并包含对相关工件的较新版本的引用,因此您不希望永远保留过时的副本。 其他(不可过期的)文件将永远保留在Artifactory中,除非您故意删除它们,因为它们是"发布"工件和发布工件是不可变的。

如果.deb文件已从上游存储库中删除,则引用它的元数据文件(即" Packages"文件保存对此.deb文件及其父文件的所有版本的引用"发布"文件)也将相应地更改,这可能实际上意味着您无法在APT客户端过期并重新获取后使用APT客户端下载这些旧版本。 如果要将远程存储库保留在某种状态,则有两种选择:

1.将存储库设置为"离线" (参见Additional Basic Settings) - 这意味着Artifactory不会尝试从上游仓库获取工件,只提供缓存的工件。

2.设置"元数据检索缓存期"更高的值(默认值为10分钟)。

HTH,