JDK Installer Groovy script

1,015 views
Skip to first unread message

Stijn Diependaele

unread,
Apr 29, 2016, 11:03:50 AM4/29/16
to Jenkins Users
Dear,

I'm trying to write a groovy script which manages the JDK installs.

The code below would set the JDK installation with the home folder. Although I would like to us an automatic installation from Oracle.
You have to set the username and password for this. But how do i pass the username and password to the Descriptor of JDKInstaller?

If I look at http://javadoc.jenkins-ci.org/hudson/tools/JDKInstaller.DescriptorImpl.html I can see that you can getUsername an getPassword.
A guess would be it's done by passing it through JSON in the configure method???

Could anyone provide a code example?

JDKDesc = Jenkins.instance.getDescriptorByName("hudson.model.JDK");

JDK jdk
= new JDK("JDK 8", "/usr/lib/jvm/java-8-openjdk-amd64");
   
jdkDesc
.setInstallations(jdk);

jdks
= jdkDesc.getInstallations();
jdkDesc
.save();

Jenkins.instance.save()

thanks!
Stijn

Mike Albert

unread,
Jun 27, 2016, 2:48:35 PM6/27/16
to Jenkins Users
Did you ever find a solution for this?  I'm trying to automate the JDK installations for a new jenkins server.

Thanks.

Mark Waite

unread,
Jun 27, 2016, 3:45:00 PM6/27/16
to Jenkins Users
Since Jenkins has an http server delivering content from the userContent directory, I configured the JDK download location to be the userContent directory of the Jenkins server.  That allows me to keep the JDK download self-contained within the Jenkins server, without any scripting.

Mark Waite

--
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 jenkinsci-use...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/jenkinsci-users/fa675a23-4388-4ea7-89cf-f84063616f4b%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Stijn Diependaele

unread,
Jun 30, 2016, 9:23:45 AM6/30/16
to Jenkins Users
Hey Mike,

We decided not to download from Oracle. Instead we have a local repo and we use puppet to manage/install the java package. So I did it like in the script above by setting the name and the path where java is installed.

It's better to have a local repo and use this one instead. But if you want I can have a look at it again, maybe I find it now.

Op vrijdag 29 april 2016 17:03:50 UTC+2 schreef Stijn Diependaele:

Victor Martinez

unread,
Jan 12, 2017, 7:48:25 AM1/12/17
to Jenkins Users
I've just found those variables are private:


So no way to set them directly unless running the method doPostCredential

import jenkins.model.*
import hudson.model.*
  
def inst = Jenkins.getInstance()
def desc = inst.getDescriptor("hudson.tools.JDKInstaller")
println desc.doPostCredential('YourEmailAccount','YourPassword')


I hope it helps

Cheers
Reply all
Reply to author
Forward
0 new messages