Запуск сборок проекта перед началом проекта - PullRequest
12 голосов
/ 04 декабря 2009

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

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

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

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

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

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

Ответы [ 4 ]

5 голосов
/ 04 декабря 2009

Это появилось в списке рассылки 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 не запустился бы. Это практически то же самое, что вы просите.

Вы можете прочитать о плагине объединения здесь: http://wiki.hudson -ci.org / дисплей / HUDSON / Join + Plugin

1 голос
/ 04 декабря 2009

Я думаю, что Подключаемый модуль - это то, что вы ищете. таким образом, вы настраиваете задание A-Trigger, которое запускает B, C, D и ждет, пока все не будет завершено, и затем срабатывает A.

1 голос
/ 04 декабря 2009

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

0 голосов
/ 17 февраля 2012

У меня похожий макет проекта, и после небольшого исследования я нашел следующий ответ Как мне запустить другую работу из hudson в качестве шага перед сборкой? .
Плагин, который возможно будет работать в будущем, это PreBuild Plugin .

...