Снимок / Releas: стратегии управления версиями для проектов Maven - PullRequest
0 голосов
/ 29 апреля 2020

Я надеюсь получить отзывы об этой проблеме c:

Допустим, у нас есть проекты Maven A1 и A2 и еще 5 проектов, которые зависят от них (каждый из них зависит от одно, другое или оба. Это не имеет значения).

На данный момент мы публикуем sh всегда одну и ту же SNAPSHOT версию A1 и A2, поэтому зависимые проекты всегда находятся в Синхронизировать с ними. Проблема, как вы можете себе представить, заключается в том, что любое изменение может быть критическим, что вынуждает нас исправлять ошибки как можно скорее.

С другой стороны, управление версиями A1 и A2 с releases версии, могут привести к довольно быстрому отставанию других проектов. Это тот подход, которому я буду следовать, если не найду других простых и эффективных решений.

Смешанный подход snapshot / version был бы слишком сложным для нас, так как мы опубликовали sh интересные изменения (для зависимых проектов) довольно редко.

У вас есть какой-нибудь другой подход, чтобы предложить?

Спасибо, ребята!

1 Ответ

0 голосов
/ 29 апреля 2020

Стандартный совет:

  • Если вы создаете версию выпуска одного из ваших 5 проектов, она должна зависеть только от версий выпуска, то есть на A1 и A2 следует ссылаться в версиях выпуска.

Это необходимо для обеспечения воспроизводимости сборки.

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

В 5 проектах вы можете использовать цели Maven, например versions:use-latest-releases, для обновления зависимостей.

...