Giter Club home page Giter Club logo

Comments (8)

Slyrc avatar Slyrc commented on August 20, 2024 2

Well thank you guys for all the input and explanation. I think I will opt for JDK21 and Alpine Arm64.

@dduportal will do this if struggle to get this working.

Thank you guys!

from docker.

dduportal avatar dduportal commented on August 20, 2024

Hi @Slyrc , thanks for opening this feature request.

Alas the Adoptium project does not provide any JDK under the JDK21 which supports Alpine Linux on arm64 architectures:

Capture d’écran 2024-04-05 à 14 28 23

Capture d’écran 2024-04-05 à 14 28 15

If I may: is there any reason preventing you from using the existing JDK11 or JDK17 arm64 images built on top of Debian? (For instance the latest JDK17: https://hub.docker.com/layers/jenkins/jenkins/jdk17/images/sha256-7c02c1d24079eb067541949238e60daed3eaec18c6d5dd24131007fad3190775?context=explore)

from docker.

Slyrc avatar Slyrc commented on August 20, 2024

Hey @dduportal, thank you for the quick answer. For the master node it doesn't matter here I can use what ever I want. It is more on the Inbound Agent level. Here I am bound to Alpine Linux. Is there a reason that you stick to this JDK? There are a lot of vendors Supporting ARM64 and Alpine Linux. Like BellSoft JDK or ZuluJDK?

image
image

from docker.

dduportal avatar dduportal commented on August 20, 2024

Is there a reason that you stick to this JDK? There are a lot of vendors Supporting ARM64 and Alpine Linux. Like BellSoft JDK or ZuluJDK?

Using temurin, the descendent OpenJDK, has been a community choice. I'll need other community member such as @MarkEWaite or @basil to help me reminding the rationale behind this choice to be transparent.

Changing a key component such as the JDK distribution is not something that can be done in a blink of an eye. The Jenkins project would need to add a lot of work to validate that not only the core but also the numerous plugins are working without anything weird. I don't say we should not: having this kind of discussion is always healthy. But it is a LOT of effort on an Open Source community (and I don't even mention the infrastructure costs due to all the validation builds). Achieving such a request would require committed involvement (not only of course !).

Of course, if your use case looks simple you can build your own Alpine arm64 image and install the OpenJDK distribution they provide through their APK distribution packages and benefit from a native and tested JDK in Alpine context: the risk of meeting a Jenkins regression could be low.

But as a matter of providing an official artifact such as a Docker image for agent, the project stick to what it can sustain: hence a single distribution.

I have a feeling that the best effort in your case would be to migrate to JDK21 on controller + agents as soon as possible: you would benefit from the official images and it would be supported (and it is an LTS image). WDYT?

from docker.

MarkEWaite avatar MarkEWaite commented on August 20, 2024

Using temurin, the descendent OpenJDK, has been a community choice. I'll need other community member such as @MarkEWaite or @basil to help me reminding the rationale behind this choice to be transparent.

Eclipse Temurin was chosen in Sep 2020. It supports the platforms that we need, is open source, and is well supported by industry leaders. Bellsoft does not seem to support s390x mainframes, Zulu does not seem to support s390x mainframes.

Java 11 support by Jenkins will end in Oct 2024. I don't think it makes sense to add more Java 11 configurations.

I think that we should avoid the added maintenance burden of additional JDKs. As noted by @dduportal , users can define their own container images if they wish.

from docker.

basil avatar basil commented on August 20, 2024

To add to the above, Eclipse Temurin is another open source community with which our community has a long-standing positive relationship. Eclipse Temurin also uses Jenkins. We look forward to continuing this positive collaboration in the future.

from docker.

timja avatar timja commented on August 20, 2024

For what its worth you can run your agents on Java 21, and then your actual Java builds can use whatever version of Java you want. You don't need to tie your agents Java version to what version is used to run Maven / Gradle / etc

from docker.

dduportal avatar dduportal commented on August 20, 2024

@Slyrc how do you feel about using JDK21 as base (as @timja mentioned)? I'm member of the Jenkins infra and we are currently planning to migrate from JDK17 to JDK21 (while keeping our agent with JDK8, JDK11, JDK17 and JDK21 for Jenkins developers) so we could share tips. If that is the case, I propose that you open a community.jenkins.io forum topic and mention me (same handle as in GitHub) so we can share our tips and trick for such an upgrade (we did JDK11 -> JDK17 last year).

from docker.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.