Круиз-контроль - родительские / детские проекты - PullRequest
0 голосов
/ 19 декабря 2009

Я использую круиз-контроль для постоянной проверки своих проектов, и пока он работает лучше, чем континуум, за исключением некоторых незначительных проблем.

Если у меня есть проект, который зависит от нескольких других проектов, и я обновляю одну из этих зависимостей, не обновляя номер версии, таким образом, не требуя изменения в родительском pom, родительский никогда не будет восстановлен.

Возможно ли это, или я должен просто вернуться и продолжать увеличивать пом после каждого изменения, а затем вносить соответствующие изменения в родителей по мере необходимости?

Я надеялся, что это будет сделано автоматически (если бы круиз-контроль имел более тесную интеграцию с maven), чтобы я мог волшебным образом знать, что это изменение сломало что-то вниз по течению.

Я предполагаю, что мой новый формат, вероятно, будет:

${date}.${buildNumber}

2009.12.18.1

Спасибо, Walter

Ответы [ 2 ]

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

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

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

  1. Измените версии в верхнем уровне ваших poms и в вашем, чтобы включить -SNAPSHOT в конце. Это заставляет maven проверять наличие новых версий любых зависимостей в указанный период времени - по умолчанию ежедневно. Это поведение может быть изменено путем конкретного изменения updatePolicy для ваших репозиториев - вы можете проверять его каждый раз, если хотите. Когда дело доходит до тегирования, а затем построения / выпуска ваших проектов, вы захотите удалить спецификатор -SNAPSHOT для релиза, а затем снова добавить его после увеличения номера версии для поддержки следующего цикла разработки.
  2. На вашем CI-сервере вы можете принудительно создавать проекты последовательно. Поскольку похоже, что вы переключились на Hudson, это должно включать настройку триггера сборки на основе завершения другого проекта, точно так же, как вы хотите добавить триггер для опроса scm.
0 голосов
/ 19 декабря 2009

К сожалению, я не знаю достаточно о круиз-контроле, чтобы напрямую ответить на ваш вопрос.

Однако у меня был положительный опыт с Гудзоном . Hudson широко используется в качестве CI-сервера, бесплатен и имеет отличную интеграцию с Maven, а также отлично справляется с тем, что вы описываете.

...