首页 文章

Artifactory JAR签名虚拟仓库不缓存本地快照仓库

提问于
浏览
0

我有一个本地Artifactory服务器,它定义了一堆本地存储库 . 我已经设置了一个虚拟存储库并将其配置为对通过它检索的任何JAR文件进行签名 .

libs-signed 虚拟存储库已连接到 libs-staging-locallibs-snapshot-local ,因此您可以从这两个存储库中获取任何jar并通过我们的证书对其进行签名 .

如果我通过签名虚拟仓库从登台仓库中获取JAR,那么我第一次必须等到签名过程完成,但由于虚拟仓库缓存,之后对同一工件的任何请求都很快 .

但是,如果我通过签名虚拟仓库从快照存储库中获取JAR,我总是在JAR签名时获得等待时间(并且我已经验证每次都在服务器上启动jarsigner进程) . 因此,不会缓存源自快照存储库的已签名工件 . 我确保在两次提取之间没有添加任何新的快照版本,因此原始(未签名)文件完全相同 .

有谁知道这是怎么回事?如何让虚拟存储库缓存签名的快照JAR?

1 回答

  • 0

    缓存行为取决于如何解析非唯一快照 .
    如果通过请求具体带时间戳的工件来解析快照,则将缓存签名的.jar,例如:

    http://localhost:8081/artifactory/libs-snapshot/org/jfrog/test/multi1/3.5-SNAPSHOT/multi1-3.5-20170105.183200-4.jar
    

    但是,如果通过请求解析快照,则不会缓存签名的.jar,例如:

    http://localhost:8081/artifactory/libs-snapshot/org/jfrog/test/multi1/3.5-SNAPSHOT/multi1-3.5-SNAPSHOT.jar
    

    原因是此类请求的返回工件可能会更改,并且通过缓存它,Artifactory可能会返回错误的工件 .

相关问题