【问题标题】:Artifactory cli - download existing filesArtifactory cli - 下载现有文件
【发布时间】:2018-08-22 18:57:06
【问题描述】:

我正在使用 JFROG cli 从 Artifactory 下载内容。似乎即使目标包含相同的文件,cli 仍在尝试下载它。如果我在不清理目标文件夹的情况下重新运行命令,我会花费相同的时间。
有没有加快进程的选项?如果目标文件夹具有相同的 SHA1 文件,请跳过?
我们的命令(下载 repo 中的所有文件夹 a*):

jfrog rt dl --threads=`nproc` repo_name/a*/ $TMP_FOLDER/

【问题讨论】:

    标签: artifactory jfrog-cli


    【解决方案1】:

    如果存在使用校验和验证的文件,JFrog CLI 已经跳过下载。
    您可以通过设置环境变量“JFROG_CLI_LOG_LEVEL=DEBUG”然后再次运行相同的下载命令来看到这一点。在调试日志中,您将在某些文件中看到以下行:“文件已在本地存在” - 这意味着由于文件存在而跳过下载。
    相关代码可在GitHub 中找到 - 参见方法“downloadFileIfNeeded”。
    请记住,CLI 仍然需要从 Artifactory 获取文件信息并计算本地文件校验和,因此在大量小文件的情况下,这不会像下载大文件那样产生强烈影响。

    【讨论】:

    • 感谢迪玛的回复!我正在下载并上传到包含许多大小文件的不同实例大型存储库(500G)。似乎我的下载过程不会更改 dest 文件夹中已存在的文件(修改日期未更改)。但是,我们觉得对于大文件,它所花费的时间与下载文件的时间相同。我的动机是在两个实例之间批量迁移一个 repo:首先迁移所有(将花费时间)而不给用户带来停机时间,其次是用户停机时间会很短,因为大多数文件都已迁移。
    • 请记住,这样的迁移会导致属性和文件统计信息的丢失。至于大文件问题,我在我的机器上做了一些测试,第二次下载时性能有了显着提升。然而,不同的硬件可以给出不同的结果。免费填写以在JFrog CLI GitHub repository 中打开问题。如果您决定这样做,请向我们提供您所做的测量、您的操作系统类型和硬件详细信息(网络速度和存储类型尤其重要)。
    猜你喜欢
    • 2019-10-27
    • 1970-01-01
    • 2022-11-18
    • 2021-08-26
    • 1970-01-01
    • 2016-02-06
    • 1970-01-01
    • 1970-01-01
    • 2023-04-01
    相关资源
    最近更新 更多