Подтвердить что ты не робот

Запуск проекта по восходящему потоку до начала проекта

У меня есть следующий макет проекта:

  • Проект WAR A
    • Проекты по разведке и добыче
      • Зависимость B
      • Зависимость C
      • Зависимость D

Я хочу настроить A так, чтобы каждый раз, когда я хочу запускать сборку, он сначала будет строить B, C и D. Если либо сборка для B, C, либо D не выполняется, тогда A build также не работает.

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

  • Сборка триггеров - сборка после создания других проектов
    • Будет построен текущий проект после некоторых восходящих проектов, но мне нужно контролировать сборку из этого проекта, так как я занимаюсь развертыванием WAR. Я просто хочу всегда создавать зависимости в первую очередь.
  • Действия после сборки - создайте другие проекты
    • Будет строить проекты после этого, но это назад для того, что я хочу делать.

Есть ли конфигурация сборки в Hudson (или через плагин), которая будет работать для меня?

4b9b3361

Ответ 1

Это появилось в списке рассылки Hudson совсем недавно. Прямой поддержки такого типа конфигурации сборки в Hudson нет.

Смотрите эту тему: http://jenkins.361315.n4.nabble.com/On-demand-build-dependency-handling-simple-2-job-build-td624395.html

Вы можете использовать плагин Join для создания задания 'build + deploy'. Он будет иметь B, C и D в качестве нисходящих проектов, а затем "A" станет целью соединения.

Таким образом, B C и D должны завершиться успешно. Если это так, тогда будет запущена обычная "развертывание" работы A. Если бы была какая-либо ошибка, A не запускался. Это фактически то же самое, что и вы просите.

Здесь вы можете прочитать о подключаемом плагине: http://wiki.hudson-ci.org/display/HUDSON/Join+Plugin

Ответ 2

Взгляните на проект Apache Ivy (http://ant.apache.org/ivy/). Он отлично справляется с зависимостями проекта, и у него есть плагин для Hudson. По тому, как вы описываете проблему, я думаю, что это решение будет работать для вас.

Ответ 3

Я думаю, что Join Plugin - это то, что вы ищете. поэтому вы настраиваете задание A-Trigger, которое запускает B, C, D и ждет, пока все не закончатся и не активируется A.