Comments (8)
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.
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:
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.
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?
from docker.
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.
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.
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.
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.
@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)
- latest with jdk17 & almalinux HOT 2
- Update Docker Hub description with JDK17 images instead of JDK11 HOT 2
- Set JDK17 as the default JDK for Windows image
- Publish a Windows image for each supported Java version HOT 2
- `windowsservercore-2019` images use `windowsservercore-1809` as base image HOT 2
- Windows - There should be a set of weekly and LTS short tags not including Jenkins version in their names HOT 4
- After Jenkins docks with ldap, the first login the next day will display a password error. The second login will be successful, and submitting the pipeline using Jenkins' API will fail. Jenkins logs indicate that the connection to ldap has timed out
- JenkinsProject
- `jenkins-plugin-cli` reports `War not found, installing all plugins: /usr/share/java/jenkins.war` HOT 5
- CVE-2024-23897 still exists in latest LTS version jenkins/jenkins:2.440.1-lts-jdk11 HOT 2
- The repository 'https://packagecloud.io/github/git-lfs/debian bookworm InRelease' is not signed. HOT 1
- CVE-2024-22201 still appears in jenkins/jenkins:2.444-jdk11 image HOT 2
- pipeline-input-step:2.8 Test cases run failed (Server Issue) HOT 10
- docker start container failed HOT 2
- Djenkins.install.runSetupWizard=false is not working as expected HOT 5
- versionLT in jenkins-support doesn't treat newer version of workflow-cps as newer HOT 2
- Remove Java 11 images on weekly release line HOT 9
- Remove Almalinux image or upgrade it to Java 17 HOT 4
- No plugins installed HOT 6
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from docker.