如何从Jenkins Maven2 / 3工作中删除过时的Maven工件?

时间:2016-09-30 12:41:12

标签: java maven jenkins continuous-integration

在过去的几个月里,我重组(重命名)了我的项目的Maven模块。我发现了一些关于Jenkins如何处理构建作业生成的过时Maven模块(即,它们不再存在于 pom.xml 文件中)的意外行为。

以下屏幕截图中描述了这一点:

Picture of outdated modules

可以看出跳过了几个模块(=灰色气泡)。遗憾的是,从用户界面来看,我没有机会以任何方式删除它们。删除工作区也没有帮助。实际上,如果在 pom 结构中重新命名了一个或多个模块,则问题存在于其他构建作业中。

下一个屏幕截图显示了德语版的菜单选项。

Menu entries in the project job view

尽管我使用了最新的Jenkins版本(2.23),似乎没有可能从这个项目中清除ui / modules。

有没有人知道如何在不重新设置整个项目甚至完整的构建服务器安装的情况下删除这些过时的工件。

修改-1:

Jenkins Project处有一个正式问题,这个问题似乎在一天之内没有得到解决。

修改-2:

我已使用http://hudson-installation/job/the-project/deleteAllDisabledModules尝试了问题中提到的工作,以获取删除视图。但是,此页面不存在。

5 个答案:

答案 0 :(得分:3)

我认为来自Amedee Van Gasse的this answer至少为您的问题提供了一种解决方法。

他建议使用Groovy脚本手动删除标记为“(übersprungen)”的模块。他的解决方案还暗示了为什么http://hudson-installation/job/the-project/doDeleteAllDisabledModules的使用不起作用:没有为各个模块正确设置属性disabled

答案 1 :(得分:0)

看起来你正处于构建菜单中。您首先必须回到“ZurückzumProjekt”项目。之后您可以删除项目(假设您具有必要的权限)。

答案 2 :(得分:0)

有些事情你可以尝试作为最后的手段:

  1. 删除作业,然后重新创建。
  2. 重新安装Jenkins。

答案 3 :(得分:0)

转到:

http://jenkins-ci/job/<projectname>/<package>$<modulename>/

然后单击删除。

看看:

http://jenkins-ci/job/<projectname>/modules

答案 4 :(得分:-3)

创建一个新的FreeStyle作业并使用您希望开发人员使用的相同命令:

mvn clean install

此行为是Jenkins Maven插件中的一个突出错误 https://issues.jenkins-ci.org/browse/JENKINS-4561

对我来说,它提出了一个更深层次的问题:为什么你会想要使用插件来实现这个功能。这是一个DevOps原则,以确保开发人员使用和理解用于构建发布的相同技术。