The Oracle JDK is a requirement for a non-technical reason, and I am not at
liberty to discuss the nature of those non-technical requirements on a
public communication channel.
I know, that sounds more mysterious than it actually is. :-)
An Oracle JDK license is only required for Oracle Java SE 11+, and for
updates to Oracle Java SE 8 released after January 2019.
>From which you can deduce that the exact JDK 8 version we use, is 8u221.
We have jobs that have to run the same identical code on different JDK
versions.
Past experiences (implementation changes in Collections, legacy code using
sun.* imports,...) have learned us the hard lesson that we should not trust
JDK compatibility between versions, so we run our code in parallel on _all_
JDK versions that we support.
I seriously hope that it stays a secret that there are about a dozen
different JDK vendors/distributions these days, build times are already
long enough as it is now with what we have...
Code snippet to illustrate:
static javaVersions = ['jdk-8-oracle', 'jdk-11-openjdk',
'jdk-13-openjdk', 'jdk-14-openjdk', 'jdk-15-openjdk', 'jdk-16-openjdk']
When you write "unpacked in a user directory", what does that mean exactly
for you?
A) JDK is "installed" in advance on the agent, either manually
(next-next-next-finish) or configuration management (Chef, Puppet,
Ansible,...)
B) JDK is "installed" by Jenkins,
using https://$JENKINS_URL/configureTools/ -> JDK installations
We do B, but now you've got me thinking that you maybe do A?
Do you use only one single JDK version ever on each agent?
I wrote "installed", because that can either be
* Windows Installer, for Oracle JDK
* Extract zip file, for OpenJDK (for me, binaries from
https://jdk.java.net/ or for you, from https://adoptopenjdk.net/)
I haven't really seriously looked at the difference between OpenJDK and
AdoptOpenJDK.
--
Amedee Van Gasse
On Friday, December 18, 2020 at 2:39:32 PM UTC+1 Mark Waite wrote:
> I use a WIndows Server 2019 ssh agent that has AdoptOpenJDK 8u275 unpacked
> in a user directory with JAVA_HOME set in the environment of that user to
> use the AdoptOpenJDK 8u275 installation. It seems like you should not need
> the Oracle JDK at all if you use AdoptOpenJDK. That avoids the
> requirements for purchase of an Oracle JDK license and does not require
> privilege escalation. Is the Oracle JDK a requirement for some other
> reason?
>
> When I run my Jenkins controller (Dockerized on Linux) on Java 11, the
> Windows Server 2019 ssh agent is configured to use AdoptOpenJDK 11.0.9.1
> unpacked in a user directory.
>
> Mark Waite
>
> On Fri, Dec 18, 2020 at 6:10 AM Amedee Van Gasse <[email protected]>
> wrote:
>
>> There was a thread here last month "Recommended way to setup a windows
>> agent nowadays?"
>>
>> I have a (new) windows agent (Windows Server 2019) that is connected
>> through SSH, as described in that thread. It's configured through Packer
>> and Ansible, to avoid clickety-click Next-Next-Next-Finish.
>>
>> I have a user "jenkins" on Windows, who is a regular user, not an
>> Administrator.
>>
>> When I start a job on this new agent, I get this error:
>>
>> *00:00:09.445* Installing
>> C:\Users\jenkins\tools\hudson.model.JDK\jdk-8-oracle\jdk.exe
>> *00:00:09.475* [jdk-8-oracle] $
>> C:\Users\jenkins\tools\hudson.model.JDK\jdk-8-oracle\jdk.exe /s
>> ADDLOCAL="ToolsFeature" REBOOT=ReallySuppress
>> INSTALLDIR=C:\Users\jenkins\tools\hudson.model.JDK\jdk-8-oracle /L
>> C:\Users\jenkins\tools\hudson.model.JDK\install6146141972686424355log
>> *00:00:10.064* ERROR: SEVERE ERROR occurs *00:00:10.064*
>> org.jenkinsci.lib.envinject.EnvInjectException: java.io.IOException: Cannot
>> run program "C:\Users\jenkins\tools\hudson.model.JDK\jdk-8-oracle\jdk.exe"
>> (in directory "C:\Users\jenkins\tools\hudson.model.JDK\jdk-8-oracle"):
>> CreateProcess error=740, The requested operation requires elevation
>>
>> In short, Jenkins launches the Oracle JDK 8 installer, to install in
>> C:\Users\jenkins\tools\hudson.model.JDK\jdk-8-oracle, and it fails to do,
>> because the Oracle installer program, jdk.exe, requires elevated privileges
>> to be able to install JDK8.
>>
>> This contrasts with OpenJDK installers, which are just zip files that are
>> extracted into the install directory and do not require elevated privileges.
>> (context: we have builds that need to run on more than one JDK, because
>> legacy products)
>>
>> In Ye Olden Days I know that Java Web Start was used to connect windows
>> agents, and that allows you to register Jenkins as a service, which then
>> has the required elevated privileges to install software (I think, not
>> sure, I'm basically a Linux user for the better part of 2 decades). But as
>> we all know, Java Web Start is going the way of the dodo, and I feel more
>> at ease if my Linux agents and my Windows agents are configured in exactly
>> the same way.
>>
>> I have a backup plan, and that is to extract the JDK8 installation
>> directory from the Oracle installer, zip that, put it on our Artifactory
>> server, and use the zip as an installer in Global Tool Configuration.
>> Before I do that, I would like to hear if others have encountered this
>> issue before and how they have solved it.
>>
>> --
>> You received this message because you are subscribed to the Google Groups
>> "Jenkins Users" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to [email protected].
>> To view this discussion on the web visit
>> https://groups.google.com/d/msgid/jenkinsci-users/dd38ac37-1952-48a7-aafd-19fd3cd092d4n%40googlegroups.com
>>
>> <https://groups.google.com/d/msgid/jenkinsci-users/dd38ac37-1952-48a7-aafd-19fd3cd092d4n%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>>
>
--
You received this message because you are subscribed to the Google Groups
"Jenkins Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/jenkinsci-users/64660224-54e8-46a8-929e-3215d77f6376n%40googlegroups.com.