Хадсон выполняет только одну работу не параллельно - PullRequest
3 голосов
/ 19 февраля 2011

У нас есть установка Hudson только с одним исполнителем.мы хотим добраться до точки, где у нас может быть как минимум 2 исполнителя.Проблема, которая мешает нам делать это, - это работа, которую нельзя выполнять параллельно.

Объяснение: у нас есть много веток svn, настроенных на hudson.Поток для определенной ветви будет выглядеть как

A->B->C

. В этом потоке B записывает и удаляет данные из Oracle.мы хороши, если на Гудзоне настроена только одна ветвь.

Но у нас на Гудзоне много ветвей svn.Так что может быть другая ветвь с потоком

A1->B1-C1

Теперь B и B1 пишут и удаляют данные из экземпляра only oracle , работающего на блоке hudson, поэтому мы осторожнылюбые испорченные данные, которые будут использоваться тестами.Поэтому мы не хотим иметь двух исполнителей для hudson, что может привести к одновременной работе B и B1.

Так есть ли решение этой проблемы?Могу ли я настроить Hudson, чтобы не запускать B и B1 параллельно, в противном случае запускать два задания параллельно?

Заранее спасибо

Ответы [ 2 ]

1 голос
/ 19 февраля 2011

Что вы можете сделать, это создать ведомого для каждого отдельного проекта.Вы можете назвать их SlaveA, SlaveB и SlaveC.Пусть все они запускаются на одном сервере (главном сервере hudson) с одним исполнителем.

Теперь для каждой ветви, которая у вас есть для A, A1, A2 ..., вы можете сделать так, чтобы они строились только на SlaveA, так что принудительное ограничение потоков между каждым проектом

0 голосов
/ 27 марта 2012

Проверьте плагин Throttle Concurrent Execution. Кажется, он хорошо подходит для вашего случая использования.

...