是否有一个插件将Jenkins的构建与Maven(Nexus)工件联系起来

时间:2012-04-10 23:56:02

标签: maven nexus hudson-plugins jenkins-plugins

我想知道是否有一个Hudson / Jenkins插件将存储库工件与创建它们的构建联系起来?我正在查看问题"remove artifacts from nexus repository"并认为删除Jenkins中的构建还应该提供删除构建所创建的工件的选项。

我们目前正在运行Jenkins 1.447和Nexus Open Source 1.9.2.3。我们的Jenkins使用maven部署目标在我们的Nexus存储库中构建工件。我看来,一旦部署了这些工件,就没有类似的自动机制来删除它们。我们想将Jenkins构建与其Nexus工件联系起来。我想如果我们决定从Jenkins中删除构建,我们就没有用于构建,因此也不需要为该构建存储工件。我们希望删除构建以触发删除Nexus工件。

如果没有什么可用,我想我可以开始写一些东西了,但我想检查一下其他人如何处理这个问题。

4 个答案:

答案 0 :(得分:0)

您可以通过maven-dependency-plugin清除本地存储库中的工件。

答案 1 :(得分:0)

如果您有一个版本,根据构建服务器的编号对它进行编号是没有意义的。通常的用例是将SNAPSHOT用于此目的。此外,通常的用例是在Nexus停留一段时间后根据计划任务删除SNAPSHOT,但不会从Nexus删除版本。

答案 2 :(得分:0)

由于您知道发行版的名称,因此您可以构建自定义作业或触发器以使用wget命令从nexus存储库中删除工件。

作为Nexus中的合适用户,您可以删除发布工件,而不仅仅是快照。

答案 3 :(得分:0)

您可以使用Nexus的REST API构建自己的Jenkins插件,为您完成该Job。您可以使用Nexus自定义元数据插件存储Jenkins构建作业编号。删除构建后,您可以让自定义Jenkins插件删除Nexus中其元数据中包含该内部版本号的所有工件。我有一个类似的问题,并写了一个自定义Jenkins插件。看一下github上的教程和源代码。它应该非常直接。

教程: http://blog.codecentric.de/en/2012/08/tutorial-create-a-jenkins-plugin-to-integrate-jenkins-and-nexus-repository/

源码: https://github.com/marcelbirkner/nexus-metadata-plugin/