了解Spring Cloud版本

时间:2017-02-08 21:27:01

标签: spring-cloud spring-cloud-config

Spring人员在发布大量优质项目方面做得很好。我们一直在使用的是Spring Cloud及其各个子项目。

令我感到困惑的一个方面是Spring Cloud版本名称。例如,如果您转到Spring Cloud,则会显示CamdenAngelBrixton。然后,如果您转到特定项目网站,例如Spring Cloud Config,它会显示1.3.01.2.3

等版本

关于这些的两个问题。

  1. 从命名版本(camden,brixton,angel)中,很难看出哪个是最新版本及其序列。是否有一个记录良好的地方?

  2. 命名版本如何与子项目编号相关?

  3. 感谢您的时间。

3 个答案:

答案 0 :(得分:13)

发布问题后,在主页面中找到了有关这些版本的一些信息。这肯定会让事情变得清晰。

  

Spring Cloud是一个由独立项目组成的总体项目,原则上具有不同的发布节奏。为了管理投资组合,发布了BOM(物料清单),其中包含一组针对单个项目的依赖关系(见下文)。发布列车有名称而不是版本,以避免与子项目混淆。这些名称是一个字母顺序(所以你可以按时间顺序排序)伦敦地铁站的名称(" Angel"是第一个版本," Brixton"是第二个)。当单个项目的点数累积到临界质量时,或者如果其中一个项目中存在一个需要向所有人提供的关键错误,则发布列车将推出“服务发布”和#34;名称以#34; .SRX"结尾,其中" X"是一个数字。

答案 1 :(得分:5)

  • 什么是Spring Cloud?

Spring Cloud是一个总括项目,由原则上具有不同发布节奏的独立项目组成。为了管理项目组合,将发布BOM(物料清单),并带有精选的对单个项目的依赖关系(请参见下文)。发行列车的名称而不是版本,以避免与子项目混淆。名称是按字母顺序排列的(因此您可以按时间顺序对它们进行排序),带有伦敦地铁站的名称(“ Angel”是第一个发行版,“ Brixton”是第二个发行版)。当各个项目的点发布累积到一定数量时,或者其中一个关键错误需要所有人使用时,发布系列将推出名称以“ .SRX”结尾的“服务版本”,其中“ X”是数字。

  • 通常我们已经有一个基于Spring Boot的项目,并且我们想向其中添加一个或多个Spring Cloud项目的依赖项,那么我们面临的问题是我应该使用与当前版本的Spring Boot兼容的特定Spring Cloud项目吗?

    该发行版与Spring Boot版本的兼容性已发布在Spring Cloud的home page上,此处是在撰写本文时:

    enter image description here

    每个发布系列的release notes可能可能包含各个子项目的不同兼容版本。另外,here可以找到给定发行培训的GH页面,以及有关其使用的子项目的更多信息。

    现在可以更准确地确定您感兴趣的特定子项目的确切版本,例如spring-cloud-starter-openfeign,您需要知道这个雨伞项目不过是:

    • 主要pom文件spring-cloud-dependencies-parent

    • 特定spring-boot-starter-parent的子pom,它可以告诉您给定发行版使用的Spring Boot版本。

    • 它还导入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>
    

    这以一个示例为例,因为我项目的春季启动版本是2.2.2.RELEASE

    ,所以我可以使用2.2.5版本的开放假装

    如果需要在Maven Central上,可以使用这些pom文件进行深入挖掘:

答案 2 :(得分:0)

Spring Cloud 版本命名已更改。在内部,他们仍然使用伦敦地铁站名称,但发布到 Maven 存储库的内容遵循日历版本控制。解释如下...

<块引用>

2020 年发布系列的显着变化

我们已经更改了我们的版本 训练版本控制方案。我们现在遵循 Calendar Versioning 或 calver 简称。我们将遵循 YYYY.MINOR.MICRO 方案,其中 MINOR 是 每年从零开始递增的数字。 MICRO 段对应于以前使用的后缀:.0 类似于 .RELEASE.2 类似于 .SR2。预发布后缀也将 例如,将分隔符从使用 . 更改为 - 2020.0.0-M12020.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