gpt4 book ai didi

snapshot - Artifactory 快照文件名处理

转载 作者:行者123 更新时间:2023-12-03 01:29:08 25 4
gpt4 key购买 nike

在我们的 Artifactory 中,我们定义了一个快照存储库来处理最多 5 个唯一快照。我们在文件名中添加了 -SNAPSHOT-.extension。 SNAPSHOT 也会转换为时间戳。构建是使用 gradle 完成的,而 Artifactory 则使用竹子和 Artifactory 插件发布。

部署到 Artifactory 的文件...

inhouse-snapshots:com/example/project/subproject/trunk-SNAPSHOT/subproject-trunk-SNAPSHOT-79.amp

变成...

inhouse-snapshots:com/example/project/subproject/trunk-SNAPSHOT/subproject-trunk-20120321.154621-1-79.amp

这很好,每个构建都会添加一个具有递增构建号的新文件,但时间戳编号始终保持 20120321.154621-1,因此我们有一个文件列表,如下所示:

  • subproject-trunk-20120321.154621-1-79.amp
  • subproject-trunk-20120321.154621-1-80.amp
  • subproject-trunk-20120321.154621-1-81.amp

有人对另一种目录布局有解决方案或建议吗?

最佳答案

正如您所观察到的,您附加到部署文件名的内部版本号被识别为分类器;这是因为 Maven 没有指定具有非唯一快照的内部版本号。

Artifactory 为 Artifactory 的“批处理”维护相同的时间戳和构建号组合,并在检测到新的“批处理”时“碰撞”时间戳和构建号; Artifactory 有两种方法可以检测 Artifactory “批处理”,以便将非唯一快照转换为唯一快照:

  1. Artifactory 按照以下确切顺序部署: Artifactory (无分类器)、POM、附加 Artifactory (带分类器); POM 之后部署的第一个普通 Artifactory 将创建一个新的“批处理”;因此提供新的时间戳和构建器编号。

  2. 使用 matrix param 部署的 Artifactory 键“build.timestamp”和基于毫秒的纪元时间戳值;具有相同时间戳值的 Artifactory 将在同一“批处理”下关联。

您应该从部署的文件中省略内部版本号,并使用“build.timestamp”矩阵参数进行部署(以使 Artifactory 在每个新部署上增加“批处理”),或者部署文件已经具有唯一的快照。

关于snapshot - Artifactory 快照文件名处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9819965/

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