Запустите тот же конвейер параллельно в Jenkins - PullRequest
0 голосов
/ 23 марта 2020

Я относительно новичок в Дженкинс. Я создал декларативный конвейер в Jenkins, где пользователям предлагается ввести имя своей ветви, а затем Jenkins создает эту ветку c (например, origin / mybranch). Это позволяет мне запускать быстрый набор тестов для определенных c ветвей.

Разработчики могут запускать конвейер несколько раз, и сегодня я блокирую запуск нескольких таких конвейеров одновременно, потому что если они это сделают, один перезаписывает другой ,

Это происходит потому, что первый конвейер выполняет запись в c: \ Jenkins \ workspace \ QuickBuild, и когда другой такой запуск задания выполняет запись в ту же самую папку, что убивает исходный запуск.

Блокировка Было решение, которое я нашел, чтобы предотвратить это, но мне бы хотелось, чтобы, когда один запуск заканчивался (с использованием менее 8 ядер), следующий запуск в очереди уже запускался с любыми свободными ядрами.

Хотелось бы, чтобы это была базовая концепция Дженкинса. Я что-то пропустил? Я делаю это неправильно?

1 Ответ

0 голосов
/ 25 марта 2020

Следуя советам Марата C и Zett42, я добавил это к своему сценарию:

    agent
    {
        node {
            customWorkspace "${params.Branch}"
        }
    }

Это заставляет Дженкинса создавать каждую сборку в отдельной папке, и они не наступают друг на друга 'toes.

Единственным недостатком является то, что вы не можете построить одну и ту же ветку одновременно, но это угловой случай. Кроме того, я мог бы добавить случайное число в рабочую область, чтобы включить это.

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