Spring Cloud 服务发布:Angel.SR3

版本发布 | Dave Syer | 2015 年 6 月 26 日 | ...

Spring Cloud 的最新版本是“Angel.SR3”,现已可从常规仓库获取(请注意新的命名约定,详情见下文)。大多数组件的版本为 1.0.2.RELEASE,而 spring-cloud-netflix 的版本为 1.0.3.RELEASE。启动器和 CLI 的版本也为 1.0.3.RELEASE,这反映了它们对 Netflix 的依赖。Angel.SR3 是 Angel.SR2(以前称为 1.0.2)的错误修复版本,鼓励所有现有项目升级以利用这些改进。

有几个新功能,其中最重要的是启动器父项目的(见下文)新的命名约定。亮点包括

  • 支持 git 标签中的斜杠(通过 HTTP 资源路径中的特殊字符序列)

  • Config Server 启动时可选的 git 初始化

  • 为配置客户端提供额外的选项,使其能够自行处理解密,包括解密 bootstrap.yml 中属性的能力。

  • 为新的 RSA 和 AES 算法提供额外的加密配置选项

  • 一种用于密钥轮换的策略,其中有一个 TextEncryptorLocator 策略,用户可以实现该策略来动态查找密钥。

发布列车

Spring Cloud 是一个由独立项目组成的伞状项目,原则上,这些项目具有不同的发布节奏。为了管理这个产品组合,发布了一个 BOM(物料清单),其中包含经过精选的对各个项目的依赖项(见下文)。发布列车有名称,而不是版本,以避免与子项目混淆。这些名称是按字母顺序排列的(因此您可以按时间顺序排序),并且是伦敦地铁站的名称("Angel" 是第一个版本,"Brixton" 是第二个)。当单个项目的次要版本累积到一定程度,或者其中一个项目出现关键错误需要向所有人公开时,发布列车将推出以 ".SRX" 结尾的 "服务发布",其中 "X" 是一个数字。

发布列车是本次发布(Angel.SR3)的新事物,但旧版本已被重新发布(相同的构件,不同的版本),对应于 1.0.0、1.0.1、1.0.2,名称分别为 "Angel,[RELEASE,SR1,SR2]"。发布列车标签实际上只在一个构件中明确使用:"spring-cloud-starter-parent"(所有其他构件都有与父项目关联的普通 "Spring" 发布标签)。启动器父项目是您可以用作 BOM 进行依赖项管理,或用作父 POM(仅限 Maven)。例如,使用最新版本与配置客户端和 Eureka(更改构件 ID 以拉入其他启动器),使用 Maven 的父 POM

<parent>
  <groupId>org.springframework.cloud</groupId>
  <artifactId>spring-cloud-starter-parent</artifactId>
  <version>Angel.SR3</version>
</parent>
<dependencies>
  <dependency>
    <groupId>org.springframework.cloud</groupId>
      <artifactId>spring-cloud-starter-config</artifactId>
  </dependency>
  <dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-eureka</artifactId>
  </dependency>
  ...
</dependencies>

或用作 BOM(仅用于依赖项管理)

<dependencyManagement>
  <dependencies>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-parent</artifactId>
    <version>Angel.SR3</version>
    <type>pom</type>
    <scope>import</scope>
  </dependencies>
</dependencyManagement>
<dependencies>
  <dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-config</artifactId>
  </dependency>
  <dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-eureka</artifactId>
  </dependency>
  ...
</dependencies>

或者使用 Gradle:

buildscript {
  dependencies {
    classpath "io.spring.gradle:dependency-management-plugin:0.4.0.RELEASE"
  }
}

apply plugin: "io.spring.dependency-management"

dependencyManagement {
  imports {
    mavenBom 'org.springframework.cloud:spring-cloud:Angel.SR3'
  }
}

dependencies {
    compile 'org.springframework.cloud:spring-cloud-starter-config'
    compile 'org.springframework.cloud:spring-cloud-starter-eureka'
    ...
}

SpringOne 2015

我将在今年的华盛顿特区 SpringOne 大会上讨论 Spring Cloud。我很希望在那里见到你。

折扣

早鸟价(6 月 13 日至 8 月 14 日)可享受 150 美元的折扣。注册 4 人即可获得第 5 张免费通行证。通过姓名联系我们,即可获得您的免费通行证代码(仅限会议入场)。校友请联系我们获取您的折扣代码(任何选项减免 150 美元)。

获取 Spring 新闻通讯

通过 Spring 新闻通讯保持联系

订阅

领先一步

VMware 提供培训和认证,助您加速进步。

了解更多

获得支持

Tanzu Spring 提供 OpenJDK™、Spring 和 Apache Tomcat® 的支持和二进制文件,只需一份简单的订阅。

了解更多

即将举行的活动

查看 Spring 社区所有即将举行的活动。

查看所有