Maven 2 如何删除Hudson中不需要的构建工件

Maven 2 如何删除Hudson中不需要的构建工件,maven-2,hudson,Maven 2,Hudson,我有一个服务器正在构建一个maven构建。包含两个子项目的父项目。maven的一个子项目创建了一个相当大的.war(10MB)文件,该文件存储在每个构建中。我想去掉这个.war文件以节省磁盘空间,但我想存储Hudson build在历史记录中存储的所有其他内容(测试结果、图表等) .war文件存储在jobs/PROJECT\u NAME/modules/PACKAGE\u NAME$SUB\u PROJECT\u NAME/builds/2009-12-23\u 11-59-11/archive

我有一个服务器正在构建一个maven构建。包含两个子项目的父项目。maven的一个子项目创建了一个相当大的.war(10MB)文件,该文件存储在每个构建中。我想去掉这个.war文件以节省磁盘空间,但我想存储Hudson build在历史记录中存储的所有其他内容(测试结果、图表等)

.war文件存储在
jobs/PROJECT\u NAME/modules/PACKAGE\u NAME$SUB\u PROJECT\u NAME/builds/2009-12-23\u 11-59-11/archive/PACKAGE\u NAME/SUB\u PROJECT\u NAME/1.0/SUB\u PROJECT\u NAME-1.0下。war

我尝试使用作业配置,即归档工件并丢弃除最后一个成功/稳定工件之外的所有工件,以节省磁盘空间。但这实际上包括:

  • 作业/PROJECT\u NAME/builds/2009-12-29\u 17-23-39/archive/PROJECT\u NAME/web/target/PROJECT\u NAME-web-1.0.war下为最后两次构建存储了一份附加副本。所以它实际上增加了一点磁盘空间消耗
  • 此hudson jobs的网页包含指向最后两个版本中.war文件的链接
  • 我的构建只是针对父pom.xml执行
    clean install
    目标


    那么,如何配置Hudson server和/或Maven,以自动从
    作业/PROJECT\u NAME/modules
    下删除构建工件,并将它们保留在
    作业/PROJECT\u NAME/builds
    下?

    我用来复制/删除一些文件。

    我不久前遇到过这个问题,只是使用了一个cronjob:

    10 * * * *  find jobs/PROJECT_NAME/modules/ -name "*[tejw]ar" -type f -exec rm -f {} \;
    

    每小时删除一次这个目录(以及任何子目录)中的所有tar、ear、war和jar文件。也许有一种更为以哈德逊为中心的方式来做这件事……

    我带着一个类似的问题来到这里;我的问题通过“删除旧版本”复选框得到解决。如果您不想像OP那样保存旧的构建数据,则此复选框是一个更简单的解决方案。

    请记住,保存作业后执行作业。