【问题标题】:Unique link to an artifact deployed to JFrog Artifactory部署到 JFrog Artifactory 的工件的唯一链接
【发布时间】:2019-03-04 19:52:04
【问题描述】:

我是 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 做一些它不打算做的事情?

【问题讨论】:

  • 如果另一个工件以相同的名称部署(在相同的路径),它将覆盖不再可用的旧工件(我认为除了从垃圾箱中)。如果您想部署不同的工件,为什么不使用不同的名称?

标签: artifactory


【解决方案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 param:mypkgfile_v[RELEASE];timestamp=1553038888

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-05
    • 1970-01-01
    • 2017-07-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多