I'm configuring the builds to use Maven toolchains, as the other
approaches require changing all builds to freestyle projects, and
apart from the amount of work required to do that, I'm not sure we
would lose some nice features the maven plugin has.

I've configured a toolchain file using the Config file Provider Plugin
[1] that defines the Oracle JDK 1.7 (the one we use by default in all
builds). We can add there other JDKs as we need them.
I've also created a PR to configure the maven-toolchains-plugin in a
"jenkins" profile, so it is only used in our CI builds.

To use that, we'll have to modify all the builds to include the
"jenkins" profile, and to use the defined toolchains.xml file. I've
done that for the jclouds-pull-requests build, and will copy that to
all other builds, if there is no one against this approach, once it
succeeds.


[1] https://wiki.jenkins.io/display/JENKINS/Config+File+Provider+Plugin
[2] https://github.com/jclouds/jclouds/pull/1149

On 16 October 2017 at 08:23, Ignasi Barrera <n...@apache.org> wrote:
> Thanks Suresh.
>
> Cloudbees has an article on how to get the builds working:
> https://support.cloudbees.com/hc/en-us/articles/217517477-Maven-jobs-and-Java-versions-compatibility
>
> I'll have a look at this today.
>
> On 15 October 2017 at 16:23, Suresh Reddy <snall...@gmail.com> wrote:
>> Hi *Andrew,*
>>
>> Jenkins versions 2.60.1 and above needs java 8 as a minimum requirement.
>>
>>
>> See CB guidance @ https://jenkins.io/doc/upgrade-guide/2.60/
>>
>> "
>>
>> If you’re using the Maven Plugin for your Maven-based builds, note that the
>> JDK selected for them needs to be at least Java 8 as well with this change.
>> If an older JDK is configured, Jenkins will attempt to find a more recent
>> JDK automatically. If your Maven projects need to be built with JDK 7,
>> consider converting them to freestyle projects, or look into Maven
>> toolchains.
>> "
>>
>> Thanks,
>> Suresh
>>
>> P.S. Am not sure which version you are using and your Jenkins job type -
>> from error to me it looked like maven project type.
>>
>> On Sat, Oct 14, 2017 at 10:25 PM, Andrew Gaul <g...@apache.org> wrote:
>>
>>> Cloudbees chokes on our build, oddly when invoking Jenkins.  I tried to
>>> remove the workspace but could not work around this issue.  Does anyone
>>> know how we configured CloudBees?
>>>
>>> ----- Forwarded message from jenkins-no-re...@cloudbees.com -----
>>>
>>> Date: Sun, 15 Oct 2017 05:18:07 +0000 (UTC)
>>> From: jenkins-no-re...@cloudbees.com
>>> To: notificati...@jclouds.apache.org
>>> Subject: Build failed in Jenkins: jclouds #3662
>>>
>>> See <https://jclouds.ci.cloudbees.com/job/jclouds/3662/display/
>>> redirect?page=changes>
>>>
>>> Changes:
>>>
>>> [Andrew Gaul] JCLOUDS-1337: Portable storage tiers
>>>
>>> [Andrew Gaul] JCLOUDS-1337: Azure putBlob portable storage tiers
>>>
>>> [Andrew Gaul] JCLOUDS-1337: filesystem putBlob portable storage tiers
>>>
>>> [Andrew Gaul] JCLOUDS-1337: GCS putBlob portable storage tiers
>>>
>>> [Andrew Gaul] JCLOUDS-1337: S3 putBlob portable storage tiers
>>>
>>> ------------------------------------------
>>> Started by an SCM change
>>> Building remotely on 0488e24a (standard m1.large lxc-fedora17 large) in
>>> workspace <https://jclouds.ci.cloudbees.com/job/jclouds/ws/>
>>> $ sudo /opt/jenkins/sbin/mount-webdav https://repository-jclouds.
>>> forge.cloudbees.com/private jclouds alert
>>> webdav mount try 1
>>> Private webdav filestore is mounted
>>> Cloning the remote Git repository
>>> Cloning repository https://git-wip-us.apache.org/repos/asf/jclouds.git
>>>  > git init <https://jclouds.ci.cloudbees.com/job/jclouds/ws/> #
>>> timeout=10
>>> Fetching upstream changes from https://git-wip-us.apache.org/
>>> repos/asf/jclouds.git
>>>  > git --version # timeout=10
>>>  > git fetch --tags --progress https://git-wip-us.apache.org/
>>> repos/asf/jclouds.git +refs/heads/*:refs/remotes/origin/*
>>>  > git config remote.origin.url https://git-wip-us.apache.org/
>>> repos/asf/jclouds.git # timeout=10
>>>  > git config --add remote.origin.fetch +refs/heads/*:refs/remotes/origin/*
>>> # timeout=10
>>>  > git config remote.origin.url https://git-wip-us.apache.org/
>>> repos/asf/jclouds.git # timeout=10
>>> Fetching upstream changes from https://git-wip-us.apache.org/
>>> repos/asf/jclouds.git
>>>  > git fetch --tags --progress https://git-wip-us.apache.org/
>>> repos/asf/jclouds.git +refs/heads/*:refs/remotes/origin/*
>>>  > git rev-parse refs/remotes/origin/master^{commit} # timeout=10
>>>  > git rev-parse refs/remotes/origin/origin/master^{commit} # timeout=10
>>> Checking out Revision 89053d9a8b43ccc54c99e552eb5a868b236d1057
>>> (refs/remotes/origin/master)
>>> Commit message: "JCLOUDS-1337: S3 putBlob portable storage tiers"
>>>  > git config core.sparsecheckout # timeout=10
>>>  > git checkout -f 89053d9a8b43ccc54c99e552eb5a868b236d1057
>>>  > git rev-list 6cf0a6318602e76f13e18ed18f235ed949c8d3d6 # timeout=10
>>>  > git tag -a -f -m Jenkins Build #3662 jenkins-jclouds-3662 # timeout=10
>>> Parsing POMs
>>> Downloaded artifact https://repo.cloudbees.com/
>>> content/repositories/central/org/apache/apache/14/apache-14.pom
>>> Modules changed, recalculating dependency graph
>>> Established TCP socket on 55850
>>> Copied maven3-agent.jar
>>> Copied maven3-interceptor.jar
>>> Copied maven3-interceptor-commons.jar
>>> [jclouds] $ /opt/jdk/jdk1.7.latest/bin/java -Xmx512m -Xloggc:gc.log
>>> -XX:MaxPermSize=128m -XX:+UseParallelOldGC -cp
>>> /scratch/jenkins/maven3-agent.jar:/opt/maven/apache-maven-3.
>>> 0.5/boot/plexus-classworlds-2.4.jar org.jvnet.hudson.maven3.agent.Maven3Main
>>> /opt/maven/apache-maven-3.0.5 /scratch/jenkins/slave.jar
>>> /scratch/jenkins/maven3-interceptor.jar 
>>> /scratch/jenkins/maven3-interceptor-commons.jar
>>> 55850
>>> Exception in thread "main" java.lang.UnsupportedClassVersionError:
>>> hudson/remoting/Launcher : Unsupported major.minor version 52.0
>>>         at java.lang.ClassLoader.defineClass1(Native Method)
>>>         at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
>>>         at java.security.SecureClassLoader.defineClass(
>>> SecureClassLoader.java:142)
>>>         at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
>>>         at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
>>>         at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
>>>         at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
>>> ERROR: Failed to parse POMs
>>> java.io.EOFException: unexpected stream termination
>>>         at hudson.remoting.ChannelBuilder.negotiate(
>>> ChannelBuilder.java:407)
>>>         at hudson.remoting.ChannelBuilder.build(ChannelBuilder.java:352)
>>>         at hudson.slaves.Channels.forProcess(Channels.java:115)
>>>         at hudson.maven.AbstractMavenProcessFactory.newProcess(
>>> AbstractMavenProcessFactory.java:294)
>>>         at hudson.maven.ProcessCache.get(ProcessCache.java:236)
>>>         at hudson.maven.MavenModuleSetBuild$MavenModuleSetBuildExecution.
>>> doRun(MavenModuleSetBuild.java:803)
>>>         at hudson.model.AbstractBuild$AbstractBuildExecution.run(
>>> AbstractBuild.java:506)
>>>         at hudson.model.Run.execute(Run.java:1737)
>>>         at hudson.maven.MavenModuleSetBuild.run(
>>> MavenModuleSetBuild.java:542)
>>>         at hudson.model.ResourceController.execute(
>>> ResourceController.java:97)
>>>         at hudson.model.Executor.run(Executor.java:421)
>>>         at java.security.AccessController.doPrivileged(Native Method)
>>>         at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
>>>         at org.codehaus.plexus.classworlds.realm.ClassRealm.
>>> loadClassFromSelf(ClassRealm.java:386)
>>>         at org.codehaus.plexus.classworlds.strategy.
>>> SelfFirstStrategy.loadClass(SelfFirstStrategy.java:42)
>>>         at org.codehaus.plexus.classworlds.realm.ClassRealm.
>>> loadClass(ClassRealm.java:244)
>>>         at org.codehaus.plexus.classworlds.realm.ClassRealm.
>>> loadClass(ClassRealm.java:230)
>>>         at org.jvnet.hudson.maven3.agent.Maven3Main.main(Maven3Main.
>>> java:138)
>>>         at org.jvnet.hudson.maven3.agent.Maven3Main.main(Maven3Main.
>>> java:70)
>>>
>>> ----- End forwarded message -----
>>>
>>> --
>>> Andrew Gaul
>>> http://gaul.org/
>>>

Reply via email to