Рубрики
Без рубрики

Схема именования версий Весенних проектов

Узнайте о схемах именования весной.

Автор оригинала: baeldung.

1. Обзор

Обычно при именовании версий выпуска используется Семантическое управление версиями . Например, эти правила применяются для формата версии, такого как MAJOR.НЕЗНАЧИТЕЛЬНАЯ ДОРАБОТКА :

  • ОСНОВНЫЕ: Основные функции и потенциальные критические изменения
  • НЕЗНАЧИТЕЛЬНЫЕ: функции обратной совместимости
  • РЕДАКЦИЯ : Исправления и улучшения обратной совместимости

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

В этой краткой статье мы рассмотрим схемы именования версий, принятые в крупных проектах Spring.

2. Пружинный каркас и Пружинный ботинок

В дополнение к семантическому управлению версиями мы видим, что Spring Framework и Spring Boot используют эти метки:

  • СБОРКА-МОМЕНТАЛЬНЫЙ СНИМОК
  • M[ число ]
  • RC[ номер ]
  • ОСВОБОЖДАТЬ

BUILD-SNAPSHOT-это текущая версия разработки. Команда Spring каждый день создает этот артефакт и развертывает его в https://maven.springframework.org/snapshot .

Этапный выпуск (M1, M2, M3, …) знаменует собой значительный этап в процессе выпуска. Команда создает этот артефакт после завершения итерации разработки и развертывает его в https://maven.springframework.org/milestone .

Кандидат на выпуск (RC1, RC2, RC3,…) – это последний шаг перед созданием окончательного выпуска. Чтобы свести к минимуму изменения кода, на этом этапе должны выполняться только исправления ошибок. Он также развернут в https://maven.springframework.org/milestone .

В самом конце процесса выпуска команда Spring выпускает РЕЛИЗ. Следовательно, это, как правило, единственный готовый к производству артефакт. Мы также можем ссылаться на этот выпуск как GA, для общей доступности .

Эти метки расположены в алфавитном порядке , чтобы убедиться, что менеджеры сборки и зависимостей правильно определяют, является ли версия более поздней, чем другая. Например, Maven 2 ошибочно считал 1.0-SNAPSHOT более поздним, чем 1.0-RELEASE. Maven 3 исправил это поведение. Как следствие, мы можем испытывать странное поведение, когда наша схема именования не является оптимальной.

3. Зонтичные проекты

Зонтичные проекты, такие как Spring Cloud и Spring Data, являются проектами над независимыми, но связанными подпроектами. Чтобы избежать конфликтов с этими подпроектами, зонтичный проект использует другую схему именования. Вместо пронумерованной версии каждый поезд выпуска имеет специальное имя.

В алфавитном порядке станции Лондонского метро являются источником вдохновения для названий выпусков Spring Cloud — для начала, Angel, Brixton, Finchley, Greenwich и Hoxton.

В дополнение к меткам Spring, показанным выше, он также определяет метку выпуска службы (SR1, SR2…) . Если мы обнаружим критическую ошибку, может быть выпущен служебный релиз.

Важно понимать, что выпуск Spring Cloud совместим только с определенной версией Spring Boot. В качестве ссылки страница проекта Spring Cloud содержит таблицу совместимости.

4. Заключение

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