代码之家  ›  专栏  ›  技术社区  ›  Juha Syrjälä

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

  •  11
  • Juha Syrjälä  · 技术社区  · 16 年前

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

    .war文件存储在 jobs/PROJECT_NAME/modules/PACKAGE_NAME$SUB_PROJECT_NAME/builds/2009-12-23_11-59-11/archive/PACKAGE_NAME/SUB_PROJECT_NAME/1.0/SUB_PROJECT_NAME-1.0.war

    我已尝试根据使用作业配置 this SO question 即 归档工件 和 . 但这实际上包括:

    1. 将为下的最后两个生成存储一个附加副本 jobs/PROJECT_NAME/builds/2009-12-29_17-23-39/archive/PROJECT_NAME/web/target/PROJECT_NAME-web-1.0.war . 所以它实际上增加了一点磁盘空间消耗。
    2. 此hudson jobs的网页包含指向最后两个版本中.war文件的链接。

    clean install 针对家长的目标 pom.xml .

    jobs/PROJECT_NAME/modules 把它们放在下面 jobs/PROJECT_NAME/builds ?

    3 回复  |  直到 9 年前
        1
  •  6
  •   Lii bob    9 年前

    我用 post build task 要执行某些文件,请复制/删除内容。

        2
  •  5
  •   matthewsteele    16 年前

    不久前,我遇到了这个问题,我只是选择了一个cronjob:

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

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

        3
  •  1
  •   piepera    16 年前

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