Порядок сборки Hudson, не учитывающий зависимости при одновременной регистрации - PullRequest
2 голосов
/ 17 декабря 2010

Так что это похожий вопрос: Запуск сборок проекта перед началом проекта

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

У нас есть два проекта, один из которых зависит от другого. Если мы выполняем одновременную регистрацию обоих проектов (где зависимый проект потерпит неудачу без предварительной построения зависимости), Хадсон, кажется, выберет один случайным образом, поэтому иногда мы получаем неудачную сборку, затем другой проект успешно строится, а затем повторная попытка на другом проекте успешно.

Хадсон достаточно умен, чтобы выяснить из того, что есть у Maven Pom, что является восходящим и нисходящим, и даже знает, как создавать нисходящий поток, когда меняется восходящий поток, но он не знает, как создать восходящий поток до * 1010. * вниз по течению, если они оба изменились.

Есть ли параметр конфигурации, который мне не хватает? «Построить после того, как будут построены другие проекты», кажется, просто ручная версия того, что он уже сделает для вышестоящих проектов.

Ответы [ 3 ]

2 голосов
/ 18 декабря 2010

Под Advanced Project Options у вас есть quiet period. Для первой сборки установите период тишины 5 секунд, а для второй - 2 минуты. Это должно сделать свое дело. Вы также можете попробовать с 5 и 10 секундами, я просто выбираю 5 и 120, поскольку Хадсон будет проверять изменения не чаще, чем каждую минуту. Я не знаю, как реализована проверка SVN. Таким образом, 2 минуты гарантируют, что ваш первый проект будет хотя бы один раз проверен перед началом второй сборки. (предположение: обе работы проверяют каждую минуту на наличие изменений SVN)

Вам также необходимо убедиться, что оба задания не выполняются одновременно. Поэтому я бы использовал Block build when upstream project is building (также расширенные опции), чтобы гарантировать, что они не будут собираться одновременно. Вы также можете сначала попробовать только эту опцию, возможно, эта опция уже достаточно хороша.

0 голосов
/ 04 января 2011

Я столкнулся с той же проблемой. К сожалению, кажется известной ошибкой то, что опция Block build when upstream project is building не работает, когда сервер hudson настроен с несколькими исполнителями / узлами.

http://issues.hudson -ci.org / просмотр / HUDSON-5125

В качестве обходного пути можно использовать плагин Naginator , который может перепланировать сборку после сбоя сборки.

0 голосов
/ 22 декабря 2010

Если оба проекта принадлежат одному и тому же родительскому проекту maven, вам потребуется только одно задание hudson для этого родительского проекта maven. - И вам не нужны никакие зависимости вверх или вниз по течению.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...