Proposal: Experimental Docker images and CD for Jenkins master/stable branches

Skip to first unread message

Oleg Nenashev

unread,
Sep 29, 2018, 1:02:09 PM9/29/18
to JenkinsCI Developers, Jenkins Platform SIG
Hi all,

As a part of Jenkins & Java 10+ work, I have created a simple CD flow for Docker images so that we were able to quickly deliver patches in java10-support and java11-support branches. I have just added multi-stage Dockerfile build directly to the Jenkins core repository and then created an automatic build on DockerHub: jenkins/jenkins-experimental .

With such approach, the DockerHub build is triggered on any merge/push to the branch, so users get a new image within 30 minutes. It may be useful for trying fixes in Docker. There are 3 serious limitations:
  1. Build happens before ci.jenkins.io completes the build/test cycle, so it is not 100% fine. Ideally it would be preferable to trigger the build after the incrementals (via webhook) or to build the image directly on ci.jenkins.io (package incrementals to Docker as a part of the build).
  2. The build uses a base image from `jenkins/jenkins` "latest" or "stable" tags. So it uses the current release instead of the current Docker packaging which is about to go to the next release
  3.  There is no versioning, just latest tags. This is okay, but it may complicate analysis of issues reported for such images
But I think that even such primitive CD flow could be useful. I propose to upstream the current simple Dockerfile to the master and stable-* branches so that experimental builds become available there. Then we could update the flow later. What do you think?

Thanks in advance,
Oleg





Jesse Glick

unread,
Oct 1, 2018, 9:21:48 AM10/1/18
to Jenkins Dev
On Sat, Sep 29, 2018 at 1:02 PM Oleg Nenashev <o.v.ne...@gmail.com> wrote:
> Build happens before ci.jenkins.io completes the build/test cycle

Does not seem like a serious issue. It is marked experimental after
all, and we assume that commits in `master` are nothing more than
merges of PRs which were already tested.

> I propose to upstream the current simple Dockerfile to the master

+1

> and stable-* branches

I see no need for that. This is “experimental” after all. If you want
to experiment, you are not an LTS user.

Oleg Nenashev

unread,
Oct 2, 2018, 6:46:25 AM10/2/18
to Jenkins Developers
> > and stable-* branches

> I see no need for that. This is “experimental” after all. If you want
to experiment, you are not an LTS user.

No need for LTS for sure. But it could be a good addition for RC testing.
Currently we ship only WAR files for RC, Docker images could help us to get more feedback.

BR, Oleg


Oleg Nenashev

unread,
Oct 4, 2018, 3:20:04 AM10/4/18
to Jenkins Developers

Oleg Nenashev

unread,
Oct 6, 2018, 8:48:20 AM10/6/18
to JenkinsCI Developers
So, we have a "latest-jdk8" tag in https://hub.docker.com/r/jenkins/jenkins-experimental/tags/ now.
I will create a PR to jenkins.io later to reference this experimental image source

--
You received this message because you are subscribed to a topic in the Google Groups "Jenkins Developers" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/jenkinsci-dev/jfxiuABqO7I/unsubscribe.
To unsubscribe from this group and all its topics, send an email to jenkinsci-de...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-dev/d96e8e6a-786b-40d4-9ff1-dd1768b1147b%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Reply all
Reply to author
Forward
0 new messages