为Jenkins添加多个工作区清理

时间:2016-04-27 13:45:20

标签: jenkins jenkins-plugins

在单个作业中执行构建时,我可以有多个删除工作区吗?

  • 失败状态:清除所有工作区
  • 成功状态:仅清除分发包目录(** / target / dist)

我们使用build-stalker插件将构建分解为编译和测试作业,提供两者之间的链接。编译作业本身不会自行清理,因为测试作业会这样做,但我们不会为每个编译作业运行测试作业(只有4小时内的最新作业),而是留下孤立的工作区。

我想要一种方法让孤立的工作区具有较小的影响,并且基于选择性状态的清理是实现此目的的一种方法。

1 个答案:

答案 0 :(得分:0)

我不知道提供这种功能的Jenkins插件。

我会建立以下内容:

  • 让每个编译版本用其工作空间路径写一行,例如:

    .../jenkins/workspace/<...compile job...>/

    将您选择的语言(bash,Groovy,cmd,...)中的脚本用于以下文件:

    .../jenkins/workspace/toBeWipedOut

  • 创建一个以您选择的语言定期运行脚本的作业:

    • 读取文件
    • 删除除最后一个
    • 之外的其中提到的工作空间
    • 删除除最后一个
    • 之外的所有行

  • 让每个编译版本写一个包含其作业名称的行。
  • 有关如何按作业名称清除工作区的信息,请参阅Wipe out workspaces of all jobs