Когда подходящее время для обновления основной версии, а не второстепенной версии в вашем pom?

#maven #version-control #microservices #pom.xml #maven-versions-plugin

#maven #управление версиями #микросервисы #pom.xml #maven-версии-плагин

Вопрос:

У меня есть служебная служба x, которая находится в репозитории maven и используется некоторыми другими моими службами. Обычно мы обновляем второстепенную версию service x, когда вносим небольшие изменения, и в настоящее время мы находимся на версии 1.0.15. Нет, я вношу еще одно изменение, и я подумал, следует ли мне обновить версию до 1.0.16 или мне следует обновить версию, например 1.1.0. Если кто-нибудь может дать объяснение того, как это должно быть сделано в целом, это, я уверен, поможет другим разработчикам, а также мне. Пожалуйста, дайте мне знать, если вам нужна дополнительная информация.

Комментарии:

1. Рассматривали ли вы возможность использования семантического управления версиями ? Второстепенная версия будет указывать на новые функции, исправления ошибок и т. Д. Основные версии будут указывать на критическое изменение или другую модификацию системного уровня.

Ответ №1:

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

Хорошо зарекомендовавший себя стандарт для этого называется семантическим управлением версиями (https://semver.org /). Если вы начинаете новый проект или еще не существует стандарта, я бы рекомендовал использовать это.

Семантические версии представлены в формате: MAJOR.MINOR.PATCH .

  • Если вы исправили ошибку: увеличьте версию исправления
  • Если вы внедрили новую функциональность без сбоев: увеличьте второстепенную версию (и сбросьте исправление до 0)
  • Если вы внесли критические изменения: увеличьте основную версию (и сбросьте патч и второстепенную версию до 0).

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

Комментарии:

1. что вы подразумеваете под критическими изменениями и неразрывными изменениями?