2016-12-23 5 views
1

С Рождеством, ребята,Многогранный трубопровод - Дженкинс - Как выполнить одну ветвь за раз?

У меня очень простой вопрос, который я не нашел там:

Как построить филиалы по одному?

У меня на самом деле есть две ветки, которые будут построены в моем процессе с несколькими ветвями Jenkins. Тем не менее, когда я нажимаю «Run», если никаких изменений, оба они создаются одновременно, что является проблемой из-за модульных тестов, которые используют один и тот же порт.

Вот почему мне нужно будет запускать одну ветвь за раз.

Есть ли способ, которым я могу это сделать?

+0

Я думаю, что разумнее решить проблему с помощью ваших unittests, а не взламывать это. – Rik

ответ

0

Вы не можете ограничить ветви, построенные с помощью многоблочного трубопровода. Но вы можете ограничить, что только один шаг/этап в настоящее время работают в то время, даже через ветви, с lock

stage("Unit Test") { 
    lock("unit_test_lock") { 

    //Unit tests here 

    } // resource is unlocked. 
} 

Если две ветви А и B сборки одновременно, А сначала получить блокировку, в то время как B будет подождите, пока блокировка будет выпущена. Таким образом, ветви никогда не будут выполнять эту закрытую сцену одновременно.