春の人々は、たくさんの質の高いプロジェクトをリリースするという素晴らしい仕事をしています。私たちが使用しているそれらの1つは、Spring Cloudとそのさまざまなサブプロジェクトです。
私を本当に混乱させる1つの側面は、Spring Cloudのバージョン名です。たとえば、 Spring Cloud にアクセスすると、Camden
またはAngel
またはBrixton
が読み取られます。次に、特定のプロジェクトサイトにアクセスすると、たとえば Spring Cloud Config は1.3.0
または1.2.3
のようなバージョンを表示します
これらについて2つの質問。
名前付きバージョン(camden、brixton、angel)から、どれが最新であり、そのシーケンスであるかを視覚化することは困難です。文書化されている場所はありますか?
名前付きリリースは、サブプロジェクトの番号付きリリースにどのように関連していますか?
お時間をいただきありがとうございます。
質問を投稿した後、メインページでこれらのバージョンに関するいくつかの情報を見つけました。これは確かに物事をクリアします。
Spring Cloudは、原則として異なるリリースケイデンスを持つ独立したプロジェクトで構成される包括的なプロジェクトです。ポートフォリオを管理するために、BOM(Bill of Materials)が、個々のプロジェクトに依存するキュレーションされたセットとともに公開されます(以下を参照)。リリーストレインには、サブプロジェクトとの混乱を避けるために、バージョンではなく名前が付いています。名前はアルファベット順で(時系列で並べ替えることができます)、ロンドンの地下鉄駅の名前が付いています( "Angel"が最初のリリース、 "Brixton"が2番目のリリースです)。個々のプロジェクトのポイントリリースがクリティカルマスに蓄積される場合、またはそれらの1つに全員が利用できる必要があるクリティカルバグがある場合、リリーストレインは名前が「.SRX」で終わる「サービスリリース」をプッシュします。ここで、「X」は数字です。
Spring Cloudは、原則として異なるリリースケイデンスを持つ独立したプロジェクトで構成される包括的なプロジェクトです。ポートフォリオを管理するために、BOM(Bill of Materials)が、個々のプロジェクトに依存するキュレーションされたセットとともに公開されます(以下を参照)。リリーストレインには、サブプロジェクトとの混乱を避けるために、バージョンではなく名前が付いています。名前はアルファベット順で(時系列で並べ替えることができます)、ロンドンの地下鉄駅の名前が付いています( "Angel"が最初のリリース、 "Brixton"が2番目のリリースです)。個々のプロジェクトのポイントリリースがクリティカルマスに蓄積された場合、またはそれらの1つにすべてのユーザーが利用できる必要があるクリティカルバグがある場合、リリーストレインは名前が「.SRX」で終わる「サービスリリース」をプッシュします。 「X」は数字です。
多くの場合、Spring Bootに基づく既存のプロジェクトがあり、Spring Cloudプロジェクトからの1つ以上の依存関係を追加したい場合、その特定の春の問題に直面します現在のバージョンのSpring Bootと互換性のあるクラウドプロジェクトを使用する必要がありますか?
スプリングブートバージョンとの互換性を備えたリリースは、スプリングクラウドの home page で公開されています。
また、各リリーストレインの リリースノートmightには、個々のサブプロジェクトの異なる互換リリースが含まれています。また、 here には、特定のリリーストレインのGHページと、それが使用するサブプロジェクトに関する詳細情報が記載されています。
次に、関心のある特定のサブプロジェクトの正確なバージョンをより正確に特定します。 spring-cloud-starter-openfeign
、このumbrellaプロジェクトは以下にすぎないことを知っておく必要があります。
メイン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
バージョンのオープンフェインを使用できることを示しています。
これらのpomファイルはすべて、Maven Centralで必要に応じて1つで掘り下げることができます。