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

Bes*_*ces 8 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(构建1的工件),build-5.2-b2.jar(构建2的工件),build-5.2-b3.jar(构建3的工件),以及构建 - 5.2.jar(最终的生产版本;与build 3匹配)

  2. 捕获名为"build-5.2.jar"的SINGLE工件,该工件具有捕获构建1到3的工件的VERSIONS,并且可以通过版本号稍后调用.

  3. 我们还没有考虑过其他一些选择,但应该考虑

noa*_*amt 6

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

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

artifactName-1.0-${TIMESTAMP}.jar
Run Code Online (Sandbox Code Playgroud)

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

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

artifactName-1.0.jar
Run Code Online (Sandbox Code Playgroud)

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


快照在Java世界中非常普遍,并且被MavenIvy广泛使用,也是持续集成的最基本概念之一