【问题标题】:Is it possible in jenkins to keep just first and last failures in "a row" of consecutives failures?詹金斯是否可以在“一排”连续失败中只保留第一次和最后一次失败?
【发布时间】:2020-06-08 23:49:36
【问题描述】:

我有一个 Jenkins 管道,它会定期(每 1 小时)检查给定基础架构的正确部署。

对于跟踪/审计,我只想在执行从“成功执行”变为“失败”时保持“构建”更改。也就是说,如果我有以下历史:

OK, OK, OK, OK, KO, KO, KO, KO, OK, OK, OK, OK, KO, KO, OK
^               ^               ^               ^       ^
exec            exec            exec            exec    exec
status          status          status          status  status
change          change          change          change  change

我真正想保留的是仅与执行状态更改相对应的构建(并自动删除所有其他构建)。

OK,             KO,             OK,             KO,     OK
^               ^               ^               ^       ^
exec            exec            exec            exec    exec
status          status          status          status  status
change          change          change          change  change

在 Jenkins 中是否可以使用这种保存历史记录的策略?

【问题讨论】:

    标签: jenkins


    【解决方案1】:

    是的,这是可能的。将groovy post-build 步骤添加到您的作业中,它将根据需要删除旧版本。

    我使用这种方法来丢弃作业的所有成功构建,除了最后 3 个(因为通常,您对失败的运行更感兴趣),使用此构建后脚本:

    def allSuccessfulBuilds = manager.build.project.getBuilds().findAll {
        it.result?.isBetterOrEqualTo( hudson.model.Result.SUCCESS )
    }
    
    allSuccessfulBuilds.drop(3).each {
      it.delete()
    }
    

    您可以修改此 sn-p 以实现您的自定义删除策略。

    【讨论】:

      猜你喜欢
      • 2018-05-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-30
      • 2014-07-18
      相关资源
      最近更新 更多