Как использовать Throttle Concurrent Build в декларативных конвейерах Jenkins - PullRequest
0 голосов
/ 25 марта 2020

У меня есть декларативные конвейеры Jenkins для нескольких различных репозиториев, которые запускают обновление базы данных sh, и юнит-тесты, которые зависят от базы данных. Эти задания Jenkins запускаются из запросов извлечения в GitHub.

Чтобы избежать коллизий ресурсов, мне нужно запретить запуск этих заданий одновременно - как внутри каждого проекта, так и между проектами.

Плагин "Throttle Concurrent Builds", похоже, создан для этого.

Я установил плагин и настроил категорию следующим образом:

TCB system configuration

И я добавил опцию «throttle» в Jenkinsfile в одном из репозиториев, чьи сборки должны быть ограничены:

pipeline {

    agent any

    options {
        throttle(['ci_database_build'])
    }

    stages {
        stage('Build') {
            parallel {
                stage('Build source') {
                    steps {

                        // etc etc...

Однако, похоже, это не препятствует одновременному выполнению 2 заданий , В качестве доказательства, здесь выполняются одновременно 2 задания (оба с указанным выше изменением Jenkisfile):

Two throttled jobs running at the same time

Чего мне не хватает?

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