【问题标题】:Cannot deploy file '.md5'. Target file to set checksum on doesn't exist artifactory - JFrog无法部署文件“.md5”。设置校验和的目标文件不存在工件 - JFrog
【发布时间】:2014-05-05 17:30:19
【问题描述】:

我正在尝试将一个 md5 文件部署到 JFrog artifactory 以用于我们的一个 jar。该文件的扩展名为 md5。文件名具有 jar 的名称,因此如果将 jar 称为 file1.jar,则其 md5 将是 file1.md5。我们拥有的 Artifactory 是 3.0 版。我们知道 Artifactory 有它的 md5 校验和,它是在 jar 移交给 artifactory 时创建的。我们提供的这个 md5 是在创建 jar 时创建的,因此我们认为它很有价值。

但是,当我们尝试使用 Bamboo 的 Artifactory Gradle 插件或直接手动将文件上传到 Artifactory 时,我们会收到错误:

无法部署文件“filename.md5”。设置校验和的目标文件不存在工件

所以听起来好像需要为我们尝试部署的 md5 设置目标文件(md5 是校验和的文件),但我在上传界面的任何地方都看不到这样的属性。

是否有可能在 Artifactory 中执行此操作,如果可以,该怎么做?

【问题讨论】:

    标签: deployment jar md5 checksum artifactory


    【解决方案1】:

    您可以将存储库的checksum policy 配置为:

    1. 根据客户端校验和验证(默认)- 如果客户端尚未发送 已部署工件的有效校验和,然后 Artifactory 将 向试图访问该客户端的客户端返回 404(未找到)错误 校验和。如果客户端已发送校验和,但与 在服务器上计算的那个,然后 Artifactory 将返回 409 (冲突)错误,直到部署有效的校验和。
    2. 信任服务器生成的校验和 - Artifactory 不会验证 客户端发送的校验和,并将信任服务器的本地 计算的校验和。上传的工件立即可用 供使用,但完整性可能会受到损害。

    如果部署的 .jar 文件名是 file1.jar,那么 Artifactory 预计 .md5 文件名是 file1.jar.md5。如果您部署一个名为 file1.md5 的 .md5 文件,Artifactory 将期望在同一路径中找到一个名为 file1 的文件,而在您的情况下找不到该文件,因此会出现错误。

    【讨论】:

      【解决方案2】:

      正如您所提到的,Artifactory 知道所有工件的校验和(它们不存储在文件中,但始终可以通过将 .md5 或 .sha1 添加到任何文件名来访问)。 您不能存储另一个正确的校验和,因为只有一个正确的校验和(Artifactory 已经知道它存储文件的事实)。

      因此,没有理由(也没有办法)将 md5 和 sha1 文件部署到 Artifactory。

      【讨论】:

      • 这家伙想存储校验和文件,这是一个完美的有效用例。这里是正确答案stackoverflow.com/a/34020634/99834——主要是需要先上传原文件。上传校验和文件变得不需要了,因为已经生成了。我试过了,效果很好。
      【解决方案3】:

      虽然 Artifactory 确实不允许您上传 .md5.sha1sum 文件,但您可以很容易地绕过这个限制,因为这些文件无论如何都是由 Artifactory 生成的。

      确保您对要上传的文件列表执行sort,以确保您的签名文件位于文件本身之后 使用此Artifactory bash upload with checksums example 上传文件。

      您将看到限制不再存在,因为 Artifactory 将生成校验和,上传脚本将在上传前验证校验和是否匹配。

      这样做的另一个好处是这种上传方法要快得多,因为它不会将同一个文件两次上传到服务器,还允许您多次运行它而不会出现问题。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2014-06-21
        • 2012-05-18
        • 2021-12-10
        • 1970-01-01
        • 1970-01-01
        • 2018-01-12
        相关资源
        最近更新 更多