Межпроектные зависимости в Дженкинс / Хадсон - PullRequest
2 голосов
/ 16 февраля 2012

У меня есть проект A и проект B в Дженкинсе. Проект А стоит гордо один. Однако тесты проекта B основаны на действующем экземпляре сервера A.

Проблема: при развертывании проекта А сервер останавливается на несколько десятков секунд. Если в то время в проекте B проводятся тесты, они терпят неудачу, и младенец Иисус плачет.

Мне известны следующие решения:

  • Заглушка А в тестах Б. (Слишком сложно, не произойдет. И это в любом случае интеграционное испытание.)
  • Сделать В зависимостью от А в Дженкинсе. (Значит, мы не можем проверить B, не начав с A).
  • Выполните поэтапное развертывание A, чтобы в пуле всегда был один сервер. (Мы смотрим на это, но это не тривиально.)

Но есть ли решение Дженкинса? Я хотел бы сказать «не запускать задачу развернуть A , если задача тест B выполняется», но я не могу найти способ сделать это без фактического объединения сборок .

1 Ответ

3 голосов
/ 16 февраля 2012

Два известных мне решения.

  1. Используйте плагин Locks and Latches и используйте одинаковую блокировку для обоих заданий A и B.
  2. Используйте Throttle Plugin с категорией и используйте одну и ту же категорию и для A, и для B.

В обоих случаях ни A, ни B не будут запускаться одновременно.

...