From d735e58ee13c978a36ab6e8bbf8ed6a5bc43504d Mon Sep 17 00:00:00 2001 From: Oleg Nenashev Date: Tue, 25 Jan 2022 11:17:11 +0100 Subject: [PATCH 1/3] Update the layout documentation to reflect the current state Signed-off-by: Oleg Nenashev --- site/LAYOUT.md | 34 ++++++++++++++++++++++------------ 1 file changed, 22 insertions(+), 12 deletions(-) diff --git a/site/LAYOUT.md b/site/LAYOUT.md index 41bd67232..b793a9f60 100644 --- a/site/LAYOUT.md +++ b/site/LAYOUT.md @@ -84,24 +84,29 @@ It allows programmatically determining which versions of Jenkins get served whic ## Regular tiered update sites (LTS and weekly) -Directories with names containing Jenkins LTS baselines like `2.204` are version specific update sites. +The Jenkins update center provides multiple update sites. +Each of them only offer plugins compatible with the respective baseline, as well as the newest weekly or LTS release, depending on the variant (LTS or weekly). +This increases the usefulness of the update sites to users of slightly older releases of Jenkins, as they won't regularly be offered incompatible releases of plugins. -* `2.204/` contains the tiered update site for Jenkins 2.204 and _similar_ weekly releases not matching an LTS baseline. -* `stable-2.204/` contains the tiered update site for Jenkins 2.204.x. +--- +**NOTE**: The update center used to support formats like `2.204/` and `stable-2.204/`. +This is no longer a case for the recent versions. -Each of these update sites only offer plugins compatible with the respective baseline, as well as the newest weekly or LTS release, depending on the variant (LTS or weekly). -This increases the usefulness of the update sites to users of slightly older releases of Jenkins, as they won't regularly be offered incompatible releases of plugins. +--- The Jenkins project publishes a limited, fixed number of tiered update sites to encourage users to regularly update Jenkins. +Directories with names containing Jenkins LTS baselines like `2.319` are version specific update sites: + +* `dynamic-stable-2.319.1/` contains the tiered update site for Jenkins 2.319.x. + +By default, the update center generates versions only for the first `.1` release of the LTS baseline. +We expect binary and API compatibility within the LTS baseline, +so it is extremely unlikety there would be a need for a specific update site for a `.2` release. + +Structure of the update site: ``` -2.204/ -├── latestCore.txt (Unused, may be removed) -├── update-center.actual.json -├── update-center.json -├── update-center.json.html -└── updates -> ../updates -stable-2.204/ +dynamic-stable-2.319.1 ├── latestCore.txt (Unused, may be removed) ├── update-center.actual.json ├── update-center.json @@ -109,6 +114,11 @@ stable-2.204/ └── updates -> ../updates ``` +## Automatic redirects + +By default Jenkins clients submit requests to the update centers with the `?version={JENKINS_VERSION}` argument. +It allows the update center to redirect the requests based on the version. + Redirect rules will forward requests to the top-level update site files to the most appropriate tiered update site, or `current/`: * Releases older than the oldest supported baseline will be served the oldest update site (LTS or weekly). From ac4b8df95e3c073437d356dd19f3830a84927460 Mon Sep 17 00:00:00 2001 From: Oleg Nenashev Date: Tue, 25 Jan 2022 11:50:14 +0100 Subject: [PATCH 2/3] Apply suggestions from code review MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Hervé Le Meur <91831478+lemeurherve@users.noreply.github.com> --- site/LAYOUT.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/site/LAYOUT.md b/site/LAYOUT.md index b793a9f60..c6299c2f8 100644 --- a/site/LAYOUT.md +++ b/site/LAYOUT.md @@ -90,7 +90,7 @@ This increases the usefulness of the update sites to users of slightly older rel --- **NOTE**: The update center used to support formats like `2.204/` and `stable-2.204/`. -This is no longer a case for the recent versions. +This is no longer the case for recent versions. --- From 93e2299150d6b5b67b69744f7c7d712b9254cd3b Mon Sep 17 00:00:00 2001 From: Oleg Nenashev Date: Tue, 25 Jan 2022 11:57:55 +0100 Subject: [PATCH 3/3] Update site/LAYOUT.md --- site/LAYOUT.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/site/LAYOUT.md b/site/LAYOUT.md index c6299c2f8..d7b79e2ab 100644 --- a/site/LAYOUT.md +++ b/site/LAYOUT.md @@ -101,7 +101,7 @@ Directories with names containing Jenkins LTS baselines like `2.319` are version By default, the update center generates versions only for the first `.1` release of the LTS baseline. We expect binary and API compatibility within the LTS baseline, -so it is extremely unlikety there would be a need for a specific update site for a `.2` release. +so it is extremely unlikely there would be a need for a specific update site for a `.2` release. Structure of the update site: