Понимание версий выпуска Spring Cloud

Ребята из Spring отлично справляются с выпуском множества качественных проектов. Одним из них, который мы использовали, является Spring Cloud и его различные подпроекты.

Один аспект, который меня действительно сбивает с толку, — это названия версий Spring Cloud. Например, если вы перейдете к Spring Cloud, он будет читаться как Camden или Angel или Brixton. Затем, если вы перейдете на сайт конкретного проекта, например, Spring Cloud Config, он покажет версии как 1.3.0 или 1.2.3

Два вопроса по этому поводу.

  1. Из названных версий (camden, brixton, angel) трудно представить, какая из них является последней, и ее последовательность. Есть ли место, где это хорошо задокументировано?

  2. Как именованные релизы связаны с пронумерованными релизами подпроектов?

Спасибо за ваше время.


person singularity    schedule 08.02.2017    source источник


Ответы (3)


После публикации вопроса нашел некоторую информацию об этих версиях на главной странице. Это, безусловно, проясняет ситуацию.

Spring Cloud — это зонтичный проект, состоящий из независимых проектов с, в принципе, разной периодичностью выпуска. Для управления портфелем публикуется спецификация (ведомость материалов) с тщательно подобранным набором зависимостей для отдельного проекта (см. ниже). Последовательности релизов имеют имена, а не версии, чтобы избежать путаницы с подпроектами. Названия представляют собой алфавитную последовательность (чтобы вы могли отсортировать их в хронологическом порядке) с названиями станций лондонского метро («Ангел» — первый выпуск, «Брикстон» — второй). Когда точечные релизы отдельных проектов накапливаются до критической массы или если в одном из них есть критическая ошибка, которая должна быть доступна для всех, последовательность релизов вытолкнет «служебные релизы» с именами, заканчивающимися на «.SRX». где «Х» — число.

person singularity    schedule 08.02.2017
comment
Вы также можете увидеть версии подпроектов здесь projects.spring.io/spring- облако/#релиз-поезда - person Ryan Baxter; 09.02.2017
comment
Примечания к выпуску задокументированы здесь для каждого названного RELEASE или Service Release SRX — github.com/spring-projects/spring-cloud/wiki/ -- github.com/spring-projects/spring-cloud/wiki/ - person CoderTR; 18.04.2019

  • Что такое весеннее облако?

Spring Cloud — это зонтичный проект, состоящий из независимых проектов с, в принципе, разной периодичностью выпуска. Для управления портфелем публикуется спецификация (ведомость материалов) с тщательно подобранным набором зависимостей для отдельного проекта (см. ниже). Последовательности релизов имеют имена, а не версии, чтобы избежать путаницы с подпроектами. Названия представляют собой алфавитную последовательность (чтобы вы могли отсортировать их в хронологическом порядке) с названиями станций лондонского метро («Ангел» — первый выпуск, «Брикстон» — второй). Когда точечные релизы отдельных проектов накапливаются до критической массы или если в одном из них есть критическая ошибка, которая должна быть доступна для всех, последовательность релизов вытолкнет «служебные релизы» с именами, заканчивающимися на «.SRX». где «Х» — число.

  • Часто у нас есть уже существующий проект, основанный на Spring Boot, и нам нравится добавлять к нему одну или несколько зависимостей, исходящих из проекта Spring Cloud, тогда мы сталкиваемся с проблемой, какой из этого конкретного проекта Spring Cloud мне следует использовать, совместимый с моей текущей версией Spring Boot?

    Релиз обучает совместимости с загрузочной версией Spring опубликован на домашней странице весеннего облака, здесь они находятся на время написания этого:

    введите описание изображения здесь

    Кроме того, примечания к выпуску каждой последовательности выпусков могут содержать различные совместимые выпуски отдельных подпроектов. Также здесь вы можете найти их страницы GH для данного поезда релизов и дополнительную информацию о подпроектах, которые он использует.

    Теперь, чтобы более точно определить точную версию конкретного подпроекта, который вас интересует, например. spring-cloud-starter-openfeign, нужно знать, что этот зонтичный проект не что иное, как:

    • основной файл pom spring-cloud-dependencies-parent, который:

    • дочерний pom определенного spring-boot-starter-parent, который может сказать вам, какую версию весенней загрузки использует данный поезд выпуска.

    • он также импортирует spring-cloud-dependenciesкоторый объявляет все версии отдельных подпроектов, которые использует наш выпуск, например. для Hoxton.SR3:

    <properties>
        <spring-cloud-kubernetes.version>1.1.2.RELEASE</spring-cloud-kubernetes.version>
        <spring-cloud-security.version>2.2.1.RELEASE</spring-cloud-security.version>
        <spring-cloud-config.version>2.2.2.RELEASE</spring-cloud-config.version>
        <spring-cloud-contract.version>2.2.2.RELEASE</spring-cloud-contract.version>
        <spring-cloud-netflix.version>2.2.2.RELEASE</spring-cloud-netflix.version>
        <spring-cloud-vault.version>2.2.2.RELEASE</spring-cloud-vault.version>
        <spring-cloud-openfeign.version>2.2.2.RELEASE</spring-cloud-openfeign.version>
        <spring-cloud-task.version>2.2.3.RELEASE</spring-cloud-task.version>
        <spring-cloud-stream.version>Horsham.SR3</spring-cloud-stream.version>
        <spring-cloud-commons.version>2.2.2.RELEASE</spring-cloud-commons.version>
        <spring-cloud-build.version>2.2.3.RELEASE</spring-cloud-build.version>
        <spring-cloud-zookeeper.version>2.2.1.RELEASE</spring-cloud-zookeeper.version>
        <spring-cloud-consul.version>2.2.2.RELEASE</spring-cloud-consul.version>
        <spring-cloud-bus.version>2.2.1.RELEASE</spring-cloud-bus.version>
        <spring-cloud-function.version>3.0.3.RELEASE</spring-cloud-function.version>
        <spring-cloud-sleuth.version>2.2.2.RELEASE</spring-cloud-sleuth.version>
        <spring-cloud-gateway.version>2.2.2.RELEASE</spring-cloud-gateway.version>
        <spring-cloud-gcp.version>1.2.2.RELEASE</spring-cloud-gcp.version>
        <spring-cloud-cloudfoundry.version>2.2.1.RELEASE</spring-cloud-cloudfoundry.version>
        <main.basedir>${basedir}/../..</main.basedir>
        <spring-cloud-circuitbreaker.version>1.0.2.RELEASE</spring-cloud-circuitbreaker.version>
        <spring-cloud-aws.version>2.2.1.RELEASE</spring-cloud-aws.version>
        <spring-cloud-cli.version>2.2.1.RELEASE</spring-cloud-cli.version>
    </properties>
    

    this tells me as an example, that I could use the 2.2.2.RELEASE version of open feign since my project's spring boot version is 2.2.5

    Все эти файлы pom доступны для того, чтобы их можно было копать, если это необходимо, на центральном maven:

person HackerMonkey    schedule 15.03.2020

Название выпуска Spring Cloud изменилось. Внутри они по-прежнему используют имена станций лондонского метро, ​​но то, что публикуется в репозиториях maven, следует за управлением версиями календаря. Объяснение следует...

Заметные изменения в выпуске 2020 года

Мы изменили нашу схему управления версиями. Теперь мы следуем календарному управлению версиями или, для краткости, кальверу. Мы будем следовать схеме YYYY.MINOR.MICRO, где MINOR — увеличивающееся число, которое каждый год начинается с нуля. Сегмент MICRO соответствует ранее использовавшимся суффиксам: .0 аналогичен .RELEASE, а .2 аналогичен .SR2. Суффиксы предварительной версии также изменятся с использования . на - для разделителя, например 2020.0.0-M1 и 2020.0.0-RC2. Мы также перестанем ставить перед снимками префикс BUILD-, например 2020.0.0-SNAPSHOT.

Мы продолжим использовать названия станций лондонского метро в качестве кодовых названий. Текущее кодовое имя Ilford. Эти имена больше не будут использоваться в версиях, опубликованных в репозиториях maven.

Ссылка: https://spring.io/blog/2020/04/17/spring-cloud-2020-0-0-m1-released#notable-changes-in-the-2020-release-train

Матрица совместимости с версиями Spring Boot: https://spring.io/projects/spring-cloud#adding-spring-cloud-to-an-existing-spring-boot-application

person sdoxsee    schedule 25.06.2021