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

artifactory支持同一工件的多个版本吗?,artifactory,Artifactory,假设我有工件“mylibrary-5.2.jar”和“mylibrary-5.3.jar”,表示我们的项目为其他项目创建和发布的库的5.2和5.3版本 Artifactory是否支持拥有这些工件的多个“版本”,以表示在构建此工件的发布期间执行的不同构建 例如,为了生成5.2版“mylibrary”的最终版本,即工件:mylibrary-5.2.jar,我们进行了3次构建,以获得通过集成环境自动测试和用户验收测试的版本 因此,有三个独立的构建为5.2版生成了三个独立的工件。我们希望能够在以后保留并

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

Artifactory是否支持拥有这些工件的多个“版本”,以表示在构建此工件的发布期间执行的不同构建

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

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

要做到这一点,以下哪种选项可行

  • 将工件捕获为单独的工件,即。 build-5.2-b1.jar(构建1的工件),build-5.2-b2.jar(构建2的工件 工件)、build-5.2-b3.jar(build-3的工件)和build-5.2.jar (最终生产版本;与构建3相匹配)

  • 捕获一个名为“build-5.2.jar”的工件,该工件具有 捕获构建1到3的工件版本,以及 可在以后按版本号调用

  • 其他一些我们没有考虑过,但应该考虑的选择

  • 问题本身与人工制品无关,因为它可以处理任何人工制品;但是推荐的方法通常是你第一个建议的变体;也就是说,保留每个构建的单独快照,直到您对结果感到满意并生成单个发布版本为止

    例如,在每次开发/质量保证/集成迭代中,工件将以以下形式产生:

    artifactName-1.0-${TIMESTAMP}.jar
    
    artifactName-1.0.jar
    
    每个都有不同的名称(可能还有内容),因此都是可追踪的

    迭代完成后,准备发布工件,以以下形式生成它:

    artifactName-1.0-${TIMESTAMP}.jar
    
    artifactName-1.0.jar
    
    此工件表示最终发布的版本



    快照在Java世界中非常常见,并且被和广泛使用,也是最基本的概念之一;最初我用时间戳标记了我们的工件,但我认为切换到构建编号可能会在视觉上简化事情。一般惯例总是有一个时间戳,或者构建编号是否也一样好(不需要查找就可以从生成时的时间戳中看到)对不起,还有一个问题——Artifactory允许将工件放置在不同的存储库中。我想我们会有一个集成存储库,它将捕获集成构建artifactName-1.0-%{TIMESTAMP}.jar,保持生产存储库的整洁,只保留最终的生产版本,例如artifactName-1.0.jar。这似乎也是常见的约定吗?Maven的约定是时间戳+构建编号,Ivy的约定是时间戳;尽管您不一定要这样做,但您应该使用对项目/组织最有意义的方法。为快照和发布工件维护单独的存储库也是一种非常常见的做法,是的