Использование плагина выпуска Hudson и Maven для выпуска нескольких проектов

У меня есть три проекта maven. Допустим, A, B и C. Каждый из этих проектов представляет собой многомодульные проекты с плоской структурой каталогов.

Проект C зависит от проекта B. А проект B зависит от проекта A.

На данный момент я могу успешно провести непрерывную интеграцию с помощью Hudson всех трех проектов.

Что я хочу сделать, так это использовать плагин maven-release-plugin для выпуска всех трех проектов за один раз. Насколько я понимаю, maven-release-plugin требует, чтобы зависимости были полными выпусками, а не версией SNAPSHOT.

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

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

Любые идеи о том, как я могу достичь этого?

Я не думаю, что maven-release-plugin может этого добиться. По крайней мере, из того, что я узнал. Я предполагаю, что мне придется запустить отдельное задание Hudson, которое будет обновлять номер версии зависимости по мере выпуска проектов.


person systemboot    schedule 23.05.2011    source источник


Ответы (1)


Как насчет создания последовательности сборки?

Рассмотрим следующую конфигурацию, у вас есть следующие задания.

  • Project-A-Release-Job
  • Project-B-Release-Job
  • Project-C-Release-Job

Более того
Если создается Project-A-Release-Job, он запускает Project-B-Release-Job,
Если создается Project-B-Release-Job, он запускает Project-C-Release-Job.

В этом случае выпуск любого из этих проектов заставит выпустить следующий.

Рассмотрите возможность использования плагина maven-versions-plugin в сочетании с плагином scm в следующем порядке:
1. Убедитесь, что новые версии/моментальные снимки находятся в репозитории
2. Обновите версии зависимостей в POM
3. Зафиксируйте обновленные Poms в SCM.

person ignatalexeyenko    schedule 16.08.2011