gpt4 book ai didi

java - Bamboo 和 Artifactory 之间的语义版本控制?

转载 作者:搜寻专家 更新时间:2023-11-01 03:05:33 24 4
gpt4 key购买 nike

我们有一个内部 Java 库,它是许多其他项目的依赖项,我们称之为 our-commons-<version>.jar .我们喜欢关注 semantic versioning 的想法或多或少,所以:

  • 当我们进行不向后兼容的 API 更改时,会有大量更改;
  • 在我们进行向后兼容 API 更改时进行少量更改;
  • 每次构建时补丁号都会改变(所以对我们来说,它真的是一个构建号);但我们真的只会在修复错误时构建,因此它足够接近真实 semver

目前,我们只发布到 Artifactory 上的 SNAPSHOT 目录,并在每次构建时覆盖那里的 JAR。具体来说,我们的项目仓库位于:

http://arty/artifactory/simple/our-libs-snapshots/our-commons/snapshot

在哪里http://arty/artifactory是在 arty 上运行的 Artifactory 服务机器,在哪里our-libs-snapshots是实际 repo 的名称,其中 our-commons是我们的库的名称。 /snapshot dir 是所有 Bamboo 构建发布到的地方,就像我说的那样,覆盖每个构建的 JAR。我们正在硬编码我们的构建以生成 our-commons-0.1-SNAPSHOT.jar每次构建。

为了进行此发布,我将以下任务配置为 our-commons 的 Bamboo 计划的一部分:

Artifactory Deploy Task
=======================
Artifactory Serverl URL: http://arty/artifactory
Target Repository: our-libs-snapshots
Deployer Username: myadmin
Deployer Password: ******
Edit Published Artifacts: dist/our-commons-0.1-SNAPSHOT.jar=>our-commons/snapshot
Capture & Publish Build Info: yes (checked)

我正在尝试弄清楚如何让 Bamboo 和 Artifactory 与我们的 semver 风格一起工作。这样我们第一次构建时,它将产生:

http://arty/artifactory/simple/our-libs-snapshots/our-commons/1.0.0/our-commons-1.0.0.jar

第二次构建时,它将产生:

http://arty/artifactory/simple/our-libs-snapshots/our-commons/1.0.1/our-commons-1.0.1.jar

等等。然后,我们将能够手动指示何时增加次要编号,在这种情况下,补丁编号将重新开始:

http://arty/artifactory/simple/our-libs-snapshots/our-commons/1.1.0/our-commons-1.1.0.jar

主号码的交易相同,但递增会重置 次号码和补丁号码。

不确定我们应该在哪里添加这些配置,或者它们实际看起来像什么。有什么想法吗?

最佳答案

您要实现的目标称为唯一快照(见下文)。使用 semver补丁 版本因为这是错误的(补丁版本是第三个数字,例如 10.0.3 3 是补丁版本)。

在使用 Maven(或 Gradle,或 Ivy)和 Artifactory 时,您可以立即使用此功能。您需要设置 Artifactory 存储库以使用 unique snapshots in repository settingssetup snapshots cleaning (通常保留 3 到 5 个最后的快照是一个很好的做法)。

关于java - Bamboo 和 Artifactory 之间的语义版本控制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24166067/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com