How to configure Maven Installation via Groovy

1,186 views
Skip to first unread message

Kenneth Baltrinic

unread,
Jan 8, 2015, 5:08:17 PM1/8/15
to jenkins...@googlegroups.com
I am trying to build a chef recipe to deploy/manage our Jenkins instances.  Things are going reasonably well but the ops-code Jenkin cookbook only provides some basic configuration recipes. It does give you a resource by which to run groovy scripts though and with that and the help of a few blogs I have gotten some basic stuff set up.  However, now now I am trying to do something quite simple in the UI but am stumped about how to do this with a groovy script: Set up a Maven installation that installs a specific version automatically.

Here is what I think I have figured out so far:

import jenkins.model.*

def inst = Jenkins.getInstance()
def desc = inst.getDescriptor('hudson.tasks.Maven')
def installs = desc.getInstallations()

installs in this case seems to have the list of existing installs, but I cannot figure out how to programatically add an install to it, for instance I would like to add an installation that is named 'mvn-3-0-5' that automatically installs maven v 3.0.5.

Any idea on how I can do this?  Any help will be much appreciated.  Thanks.

--Ken

Torben Knerr

unread,
Jun 18, 2015, 7:54:45 PM6/18/15
to jenkins...@googlegroups.com
Hi Ken,

did you solve that problem eventually?

I installed maven outside of jenkins now and it is available and on the PATH, but still I'd need to add it to Jenkins to make it aware of it.

A groovy script would be nice actually...

Cheers, Torben 

plop gark

unread,
Jul 7, 2015, 4:17:11 AM7/7/15
to jenkins...@googlegroups.com
Hi,

I am facing the same issue.

Did you solve this problem ?

Do you have tips about that ?

Sincerely yours,

Benoit

Антон Юшков

unread,
Jan 21, 2016, 11:43:40 AM1/21/16
to Jenkins Users
Useful for me:
import jenkins.model.*

a
=Jenkins.instance.getExtensionList(hudson.tasks.Maven.DescriptorImpl.class)[0];
b
=(a.installations as List);
b
.add(new hudson.tasks.Maven.MavenInstallation("MAVEN", "/usr/local/maven", []));
a
.installations=b
a
.save()

Baptiste Mathus

unread,
Jan 23, 2016, 8:38:45 AM1/23/16
to jenkins...@googlegroups.com

--
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/6b4218ec-2008-490b-9b45-c1f283879219%40googlegroups.com.

For more options, visit https://groups.google.com/d/optout.

Karl Davis

unread,
May 3, 2016, 2:17:11 PM5/3/16
to Jenkins Users, m...@batmat.net
Baptiste,

This is great -- thanks! I had a hard time finding an example that'd auto-install Maven for me.

Best regards,
Karl M. Davis
Reply all
Reply to author
Forward
0 new messages