jenkinsci/docker-agent

Alpine ARM64 Images

thebeanogamer opened this issue · 6 comments

What feature do you want to see added?

It would be really helpful to add ARM64 images to the Build Pipeline for Alpine please. We're trying to move our build infrastructure over to AWS Graviton 2, and are currently having to maintain a fork of the Docker image.

I'm happy to assist with this, although I don't think our fork is in a state to upstream.

Upstream changes

No response

Can you help me understand why the existing arm64 agent container (with a Debian base) is not sufficient? It provides amd64, arm64, arm32, and s390x container images.

https://hub.docker.com/r/jenkins/agent/tags?page=1&name=latest- shows JDK 11 and JDK 17 container images that support arm64

Hey @MarkEWaite, We were looking at Alpine as it has much newer versions of podman and crun, which fix a number of bugs we've been running into. Grabbing the Sid versions of these packages proved pretty painful, as it requires an upgrade to libc6.

The more I poke that this, the less sure I am it's actually possible, as the upstream Eclipse Temurin Alpine images also don't support ARM64. I'm going to try using Amazon Corretto on Amazon Linux, as that appears to have ARM support, but I'm not convinced it would actually make sense for Jenkins to maintain a whole new image just for our use case.

I'll have a bit more of a poke around, and might close this if I think our use case is too obscure.

🤔
Which JDK do you need? It looks like Temurin provides JDK17 images with Alpine .
On the download page, there is no JDK version for Alpine, but as the Docker images are available...

thinking Which JDK do you need? It looks like Temurin provides JDK17 images with Alpine . On the download page, there is no JDK version for Alpine, but as the Docker images are available...

I'm happy with any FOSS-friendly-licensed JDK 17. Annoyingly, Eclipse aren't making ARM64 images on Alpine with their JDK.
image

My bad.
The progress can be tracked on this issue.
I was about to propose nightly builds, but I even can't find Alpine aarch64 builds.

Thanks to the work done in #587, this image is now available with an early JDK21 image:

Capture d’écran 2023-09-08 à 19 23 12

Please note that there are NO guarantuee that Temurin project will keep delivering an alpine arm64 JDK21 in the future : if they don't, the alpine arm64 image of the Jenkins agents will be discontinued.

Thanks for the contributions @nbr23 and @gounthar