Proposal: Hosting Jenkinsfile Runner "Image packs" in jenkinsci

27 views
Skip to first unread message

Oleg Nenashev

unread,
Oct 2, 2020, 8:50:36 AM10/2/20
to JenkinsCI Developers
Hi all,

I am currently working on Jenkinsfile Runner and finalizing the key feature requests towards the 1.0 release. One of the common use-cases is having community-provided images which would support common pipelines, e.g. building Java projects with Maven (issue #344). We already have similar images for inbound agents (jenkinsci/jnlp-agents). Jenkins X 1.x also included multiple images for Jenkinsfile Runner in jenkins-x/jenkins-x-serverless.

I have created a first image for Maven/JDK8 in oleg-nenashev/jenkinsfile-runner-image-packs. It is based on ci.jenkins.io-runner, but without Jenkins-specific magic. Would appreciate feedback and contributions. A few questions to others:
  • Hosting. I would like to move this repository to the jenkinsci GitHub organization so that the repo could be accessible to users and contributors there. Would othersbe fine with that?
  • Terminology. I currently use the "Image Pack" terminology. Similar repositories use "Buildpacks" in Jenkins X and K8s, "Convenience Images" from CircleCI. I do not want to use "buildpacks" to avoid possible confusion with https://buildpacks.io/ . If anyone has ideas about better naming, would appreciate them.
Any other feedback will be also appreciated.

Thanks for your time,
Oleg

Slide

unread,
Oct 2, 2020, 10:03:34 AM10/2/20
to Jenkins Developer List
Hi Oleg,

I think it would be gre a t to host it in the jenkinsci org. I think the name is fine as well.

Regards,

Alex

--
You received this message because you are subscribed to the Google Groups "Jenkins Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-de...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-dev/CAPfivLAa5pC8rMBwLPM8LHtWzUC_y1W2R6O1p1CFwJC9HM8RHQ%40mail.gmail.com.

Jesse Glick

unread,
Oct 2, 2020, 10:22:16 AM10/2/20
to Jenkins Dev
On Fri, Oct 2, 2020 at 8:50 AM Oleg Nenashev <o.v.ne...@gmail.com> wrote:
> We already have similar images for inbound agents (jenkinsci/jnlp-agents).

Well, not sure how similar—the official agent images are
technology-neutral, so have an entirely different scale of maintenance
effort involved. I think what you are proposing is more akin to
hosting and maintaining official Docker images such as `maven`.

Oleg Nenashev

unread,
Oct 5, 2020, 3:38:30 AM10/5/20
to Jenkins Developers
Hi Jesse,

There are official images like jenkinsci/docker-ssh-agent or jenkinsci/docker-inbound-agent . They are technology-neutral. jenkinsci/jnlp-agents is a separate story, because it actually provides technology-specific images hosted within the official Jenkins DockerHub account. There are images for Maven, Ruby, .NET Core, Python. Node.js, etc. there. So these images are well aligned with what U suggest for Jenkinsfile Runner.

To address concerns about supportability, I have no intent to publish the provided images as "official" ones in foreseeable future. Jenkinsfile Runner 1.0 and new packaging flows need to be released first. These images will be hosted in the experimental DockerHub org (jenkins4eval), and the documentation will include proper disclaimers. I hope it addresses your concern.

Best regards,
Oleg

Jesse Glick

unread,
Oct 5, 2020, 10:51:46 AM10/5/20
to Jenkins Dev
On Mon, Oct 5, 2020 at 3:38 AM Oleg Nenashev <o.v.ne...@gmail.com> wrote:
> jenkinsci/jnlp-agents […has] images for Maven, Ruby, .NET Core, Python. Node.js, etc.

I see. For example:

https://hub.docker.com/r/jenkins/jnlp-agent-ruby
https://github.com/jenkinsci/jnlp-agents/blob/34919e3fd9c28716ca49e1777eec6eb6eefa0635/ruby/Dockerfile#L3-L8

Useful for single-container agents. (For the `kubernetes` plugin we
typically encourage use of the `container` step so that the neutral
`jenkins/inbound-agent` is used with a third-party image in the pod.
Suffers from `ENTRYPOINT` and `USER` and `VOLUME` problems just like
the `withDockerContainer` step, as opposed to the style exemplified by
the `dockerNode` step; neither option is attractive but it is hard to
shoehorn Jenkins Remoting & workspaces into a container world.)

> These images will be hosted in the experimental DockerHub org (jenkins4eval)

Yes, makes sense.

Oleg Nenashev

unread,
Oct 6, 2020, 3:26:44 AM10/6/20
to Jenkins Developers
Thanks to everyone who provided feedback in this thread and in other channels.
I went ahead and moved the repository, now it is located on https://github.com/jenkinsci/jenkinsfile-runner-image-packs

I will proceed with further development in the Jenkins repo, all preview/incubating disclaimers will be applied for foreseeable future.

Best regards,
Oleg
Reply all
Reply to author
Forward
0 new messages