Skip to content

Publish Docker controller LTS images from a stable-<release-line> branch #2195

@lemeurherve

Description

@lemeurherve

What

After discussions with @dduportal, we're proposing to publish LTS releases from their own stable branches like what is done in https://github.com/jenkinsci/packaging & https://github.com/jenkins-infra/release.

Current process of a Docker controller release on LTS publication day:

  • Wait for the WAR to be available in repo.jenkin-ci.org
  • Manually create an annotated tag from master branch (by a member of @jenkinsci/team-docker-packaging), which trigger a build and publication of the image on trusted.ci.jenkins.io
  • Wait for tags publication on Docker Hub
  • Manually create the corresponding GitHub release in https://github.com/jenkinsci/docker

Why?

This would have the following immediate and future1 advantages:

The inconvenient is the backport hard requirement, which would have to be done when initiating the stable branch and before each LTS "point" release.

How

On LTS publication day:

* Wait for the WAR to be available in repo.jenkin-ci.org
-* Manually create an annotated tag from `master` branch (by a member of @jenkinsci/team-docker-packaging), which trigger a build and publication of the image on trusted.ci.jenkins.io
+* Manually create an annotated tag from `stable-<release-line>` branch (by a member of @jenkinsci/team-docker-packaging), which trigger a build and publication of the image on trusted.ci.jenkins.io
* Wait for tags publication on Docker Hub
* Manually create the corresponding GitHub release in https://github.com/jenkinsci/docker

Plan

For incoming LTS 2.541.1 release (2026-01-21)

On Day -1

On release day

  • Create and push annotated tag from stable-2.541
    • Details
      $ git checkout stable-2.541
      $ git log -1 --oneline
      1122ed9 (HEAD -> stable-2.541, tag: 2.541.1, upstream/stable-2.541) Merge pull request #2227 from lemeurherve/backport-fix-war-sha
      $ git tag -m 2.541.1 -a 2.541.1
      $ git push upstream 2.541.1     
      Enumerating objects: 1, done.
      Counting objects: 100% (1/1), done.
      Writing objects: 100% (1/1), 175 bytes | 87.00 KiB/s, done.
      Total 1 (delta 0), reused 0 (delta 0), pack-reused 0 (from 0)
      To https://github.com/jenkinsci/docker.git
       * [new tag]         2.541.1 -> 2.541.1
  • Wait or trigger a "Scan Repository" on trusted.ci.jenkins.io docker controller job
    • Ensure only the new tag is taken in account
  • Ensure tags are published on Docker Hub
  • Publish GitHub release

Afterward


WDYT @jenkinsci/team-docker-packaging, @jenkinsci/jenkins-security-team, @timja (as Release Officer), @krisstern (as LTS 2.541.1 co-release lead)?

If most stakeholders are OK with this plan, I'll take care of the branch creation and backport this week.

Refs:

Footnotes

  1. I'll develop ramifications in follow-up comments/issues.

  2. Thx Captain Obvious :P

Metadata

Metadata

Assignees

Labels

backportThis concerns backport of changes into stable branch.enhancementrelease-version:2.541.1Indicate that this has been or will be delivered in this docker controller LTS release.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions