部署到JFrog Artifactory的工件的唯一链接

时间:2019-03-04 19:52:05

标签: artifactory

我是Artifactory的新用户。我的公司刚刚设置了Artifactory v6.5.2,我希望使用它来管理为我们的生产团队部署的软件。我需要的是一个下载链接,该链接将记录在我们的产品管理系统中,该链接直接指向软件部署供生产使用的确切文件。我原本希望这样的样子:

https://artifactory.mycompany.com/artifactory/myrepo/mymodule/mypkgfile_v1_b30b890becfb4a02510ed12a7283c676.tgz

我没有看到Artifactory可以为我做到这一点。我看到的是我可以做到这一点:

http://artifactory.mycompany.com/artifactory/myrepo/mymodule/mypkgfile_v1.tgz

但是,如果部署了另一个具有相同名称的工件,则不会反映在下载链接中。这意味着该链接可能返回不同的结果。

我是否想念某些东西,或者我是在问Artifactory做它不打算做的事情?

1 个答案:

答案 0 :(得分:1)

Artifactory根据文件名和路径返回URL(就像任何Web服务器一样)。这是实现您所需的两个选项:

  1. 对工件进行唯一命名(时间戳是最简单的)。不用命名工件mypkgfile_v1.tgz,而是将其命名为mypkgfile_v1-1553038888.tgz(我使用Unix Epoch时间,但是足够独特的一切都可以使用)。
  2. 这是一个经过改进的版本,但不需要您更改命名方案。
    1. 首先,配置a custom repository layout以匹配您的版本。
    2. 完成此操作后,每次部署工件时,在部署期间(例如,使用matrix params)将唯一标识符作为属性附加到工件,将工件部署为mypkgfile_v1;timestamp=1553038888
    3. 在检索中,use the token for the latest release以及您需要的时间戳记a matrix parammypkgfile_v[RELEASE];timestamp=1553038888