使用Jenkins,Artifactory,Maven自定义构建标记



我正在制定一种策略,在我的持续集成和交付管道中标记构建。当生成新的构建时,它将经历多个阶段的测试;在每个阶段之后,我想标记构建。我的想法是在标准Maven系统上进行扩展,因此一个例子是:

my-artifact-1.0-SNAPSHOT.jar
my-artifact-1.0-PASSED_TESTS_1.jar
my-artifact-1.0-PASSED_TESTS_2.jar
...
my-artifact-1.0-RELEASE.jar

当构建通过每个阶段时,它的标记(作为其名称/版本的一部分)将得到更新。最终,在所有测试阶段之后,构建被标记为RELEASE可发布。

我使用Jenkins服务器,并将Artifactory(非Pro)上的工件存储在Maven存储库中。我的计划是为上面的每个标签类型使用单独的Maven存储库,并在更新标签时将工件从一个移动到另一个。

我的促销伪代码看起来像:

(1) Download artifacts that passed in Jenkins 
(2) Text-replace the tag (maybe pom.xml as well?)
(3) Upload to new repository
(4) Update the associated Git commit with tag also

我不知道如何干净地实现这一点——这是一种常见的做事方式吗?我是不是错过了什么重要的东西?Jenkins+Artifactory(非Pro)+Maven(仅限repos,Gradle用于构建)系统能否实现这一点?

谢谢!

我可以看到在文件名中添加更多元数据的想法。通常,除了名字之外,我们没有其他地方可以添加此类信息。但是有了一个合适的工件存储库管理器(如Artifactory),您就不再需要它了。您可以将任何元数据附加到存储库管理器中的工件上,然后根据这些属性操作(例如提升)工件。

这里有一个屏幕截图,展示了将这种元数据添加到工件中需要什么,以及如何基于它来推广工件

最新更新