Как запустить конвейер Дженкинса через 30 минут работы github - PullRequest
0 голосов
/ 01 октября 2019

У меня есть конвейер для автоматической сборки проекта. Сборка запускается с github webhook.

Проблема в том, что наши разработчики могут вносить изменения в git несколько раз в течение пары часов. Нам не нужно строить так часто. Идея состоит в том, что с момента последнего коммита должно пройти 30 минут, в этом случае мы решаем, что это последний коммит.

Итак, как я могу запустить сборку через 30 минут после последнего веб-крюка?

1 Ответ

1 голос
/ 01 октября 2019

Наиболее близкое к этому поведение можно получить, используя параметр quietperiod() следующим образом:

pipeline {
    agent any
    options {
        quietPeriod(1800) // Quiet period in seconds
    }
    stages {
        stage('1') {
            steps {
                println("Hello")
            }
        }
    }
}

Или со страницы конфигурации задания: enter image description here

Из описания плагина:

Когда этот параметр ненулевой, вновь запущенные сборки этого проекта будут добавлены в очередь, но Дженкинс будет ждать указанный период времени (в секундах). ) перед тем, как начать сборку. Например, если выполнение ваших сборок занимает много времени, вы можете запретить запуск нескольких сборок управления исходным кодом, выполненных примерно в одно и то же время. Включение периода тишины предотвратит запуск сборки, как только Дженкинс обнаружит первый коммит;это дало бы разработчику возможность добавить больше коммитов, которые будут включены в сборку при запуске. Это уменьшает размер очереди, что означает, что разработчики будут быстрее получать обратную связь для своих серий коммитов, а нагрузка на систему Jenkins будет уменьшена. Если новая сборка этого проекта запущена, когда сборка уже находится в очереди, ожидая окончания периода тишины, период тишины не будет сброшен. Вновь запущенная сборка не будет добавлена ​​в очередь, если этот проект не параметризован, и сборка имеет параметры, отличные от сборки, уже находящейся в очереди.

...