在Artifactory中,上传后无法立即下载debian文件

在Artifactory中,上传后无法立即下载debian文件,debian,artifactory,jfrog,Debian,Artifactory,Jfrog,我使用以下命令上传了一个debian文件 curl -H -u$ARTIFACTORY_USER:$ARTIFACTORY_TOKEN -XPUT "http://artifactory-url/artifactory/debian/pool/$package;deb.distribution=trusty;deb.component=main;deb.architecture=all" -T $package 我无法通过apt-get-update&&apt-get-do

我使用以下命令上传了一个debian文件

curl -H -u$ARTIFACTORY_USER:$ARTIFACTORY_TOKEN -XPUT "http://artifactory-url/artifactory/debian/pool/$package;deb.distribution=trusty;deb.component=main;deb.architecture=all" -T $package
我无法通过
apt-get-update&&apt-get-download$package
下载文件,即使10分钟后也无法下载。正在获取“无法定位包”

但当我通过用户界面上传文件时,一分钟后就可以使用了。 另外,当我单击reindex时,它在一分钟后变为可用


我在我们的CI管道中这样做,在上传到artifactory之后,我需要在一分钟内将工件提供给下一步。在这种情况下我该怎么办?为什么通过curl上传而不为包编制索引?

要让apt get下载Debian包,必须更新存储库索引。
当Debian包部署到本地存储库中时,将向队列中添加一个事件来索引该存储库的相关子路径。
该队列由专用的Debian元数据工作人员不断处理(默认情况下为8个,可配置)。
这意味着,一旦上传了Debian包,如果队列为空且有工作程序可用,它将开始处理事件并为元数据编制索引。
索引的工作方式是为整个分发路径(包括存储库)创建一个锁(
debian-local/dists/xenial
)。一旦一个工作程序开始为存储库和分发的特定组合编制索引,当锁存在时,另一个工作程序将不会开始为同一路径的另一个事件编制索引。
10分钟被认为是完成索引的很长时间(大约需要1米)。这可能发生在加载的系统中,或者当许多Debian包部署到同一分发路径时。 您可以在
artifactory.system.properties
中使用以下系统属性调整工作进程的数量:

artifactory.debian.metadata.calculation.workers = 8
您还可以通过调用REST API方法强制对整个存储库的元数据进行同步计算。

有关Artifactory Debian索引计算优化和调试的更多信息,请参阅以下内容。

要让apt get下载Debian包,必须更新存储库索引。
当Debian包部署到本地存储库中时,将向队列中添加一个事件来索引该存储库的相关子路径。
该队列由专用的Debian元数据工作人员不断处理(默认情况下为8个,可配置)。
这意味着,一旦上传了Debian包,如果队列为空且有工作程序可用,它将开始处理事件并为元数据编制索引。
索引的工作方式是为整个分发路径(包括存储库)创建一个锁(
debian-local/dists/xenial
)。一旦一个工作程序开始为存储库和分发的特定组合编制索引,当锁存在时,另一个工作程序将不会开始为同一路径的另一个事件编制索引。
10分钟被认为是完成索引的很长时间(大约需要1米)。这可能发生在加载的系统中,或者当许多Debian包部署到同一分发路径时。 您可以在
artifactory.system.properties
中使用以下系统属性调整工作进程的数量:

artifactory.debian.metadata.calculation.workers = 8
您还可以通过调用REST API方法强制对整个存储库的元数据进行同步计算。

有关Artifactory Debian索引计算优化和调试的更多信息,请参阅以下内容。

非常感谢@Dror Bereznitsky,我将尝试并更新它。非常感谢@Dror Bereznitsky,我将尝试并更新它。