首页 文章

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

提问于
浏览
4

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

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

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

4 回答

  • 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/

  • 0

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

  • 0

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

  • 0

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

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

相关问题