2009-12-18 2 views
0

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

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

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

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

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

${date}.${buildNumber} 

2009.12.18.1 

Спасибо, Walter

ответ

1

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

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

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

Я попробую позже. – 2009-12-21 13:30:43

+0

Я изменил способ маркировки релизов, чтобы теперь использовать SNAPSHOT. Главное, что мне нужно сделать, это принудительная сборка подряд или реализация отношений родитель-потомок. Я думаю, что отношения между родителями и детьми, вероятно, будут лучшими и дадут эту попытку. Важно, чтобы каждый раз, когда я менял ребенка, изменения распространяются на родителя, чтобы я интегрировал все компоненты автоматически. – 2009-12-28 13:47:25

0

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

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

+0

Я только что установил hudson примерно через 5 минут. Похоже, что он может работать лучше для того, что я хочу. Круиз-контроль, вероятно, может это сделать, но конфигурация немного больше задействована. – 2009-12-19 23:56:11

Смежные вопросы