Возможно ли, чтобы Дженкинс сохранил только первые и последние неудачи в «ряду» последовательных неудач? - PullRequest
1 голос
/ 25 февраля 2020

У меня есть конвейер Jenkins, который периодически (каждый час) проверяет правильность развертывания данной инфраструктуры.

Для отслеживания / аудита мне просто интересно сохранять изменения "сборки" при изменении исполнения от «успешного выполнения» к «неудаче». То есть, если у меня есть история:

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

Возможна ли такая политика сохранения истории в Дженкинсе?

1 Ответ

1 голос
/ 25 февраля 2020

Да, это возможно. Добавьте к своей работе шаг groovy после сборки , который удалит старые сборки по вашему желанию.

Я использую такой подход, чтобы отменить все успешные сборки работы, кроме последней 3 (поскольку обычно вас больше интересуют неудачные запуски), используя этот сценарий после сборки:

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

allSuccessfulBuilds.drop(3).each {
  it.delete()
}

Вы можете изменить этот фрагмент, чтобы реализовать собственную стратегию удаления.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...