为 Jenkins 添加多个工作区清理

Add Multiple Workspace Cleanup for Jenkins

我可以在单个作业中执行多次 构建完成后删除工作区 吗?

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

我想要一种减少孤立工作区影响的方法,基于选择性状态的清理是一种方法。

我不知道有提供此类功能的 Jenkins 插件。

我将建立以下内容:

  • 让每个编译构建都写一行它的工作空间路径,例如:

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

    通过使用您选择的语言的脚本(bash、Groovy、cmd、...)生成如下文件:

    .../jenkins/workspace/toBeWipedOut

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

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