artifactory是否支持同一个工件的多个版本?

时间:2012-08-08 15:23:30

标签: artifactory

假设我有工件“mylibrary-5.2.jar”和“mylibrary-5.3.jar”代表我们项目为我们的其他项目创建和发布的库的5.2和5.3版本。

Artifactory是否支持每个工件的多个“版本”来表示在发布期间为构造此工件而执行的不同构建?

例如,要制作5.2版“mylibrary”的最终版本,即工件: mylibrary-5.2.jar ,我们经历了3次构建,以获得通过我们集成的版本环境的自动化测试和我们的用户验收测试。

因此,有三个单独的构建为5.2版本生成了三个单独的构件。我们希望能够在以后保留并可能回忆起这些不同构建的工件(用于测试等)。

为了做到这一点,以下哪个选项可行?

  1. 将工件捕获为单独的工件,即 build-5.2-b1.jar(build 1的工件),build-5.2-b2.jar(build 2's artifact),build-5.2-b3.jar(build 3的工件)和build-5.2.jar (最终的生产版本;与版本3匹配)

  2. 捕获名为“build-5.2.jar”的SINGLE工件 捕获构建1到3的工件的版本以及哪些 可以通过版本号稍后召回。

  3. 我们没有考虑的其他选项,但应该

1 个答案:

答案 0 :(得分:6)

问题本身与Artifactory关系不大,因为它可以处理任何工件;但推荐的方式通常是你的第一个建议的变化;也就是说,保留每个构建的单独快照,直到您对结果满意并且生成单个版本

所以或者例如,对于每个开发/ qa /集成迭代,将以以下形式生成工件:

artifactName-1.0-${TIMESTAMP}.jar

每个都有不同的名称(可能是内容),因此是可追溯的。

迭代完成后,您已准备好发布工件,请以以下形式生成:

artifactName-1.0.jar

此工件代表最终发布的版本。


快照在Java世界中非常常见,并且被MavenIvy广泛使用,也是Continuous Integration

的最基本概念之一