lucene-solr-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Chris Hostetter <>
Subject Re: Jenkins setup for continuous build
Date Thu, 05 Oct 2017 17:51:44 GMT

: I have some custom code in solr (which is not of good quality for
: contributing back) so I need to setup my own continuous build solution. I
: tried jenkins and was hoping that ant build (ant clean compile) in Execute
: Shell textbox will work, but I am stuck at this ivy-fail error:
: To work around it, I also added another step in the 'Execute Shell' (ant
: ivy-bootstrap), which succeeds but 'ant clean compile' still fails with the
: following error. I guess that I am not alone in doing this so there should
: be some standard work around for this.

The ivy bootstraping is really designed to to be for developers to setup 
their ~/.ant/lib directory -- IIRC most of the jenkins build servers out 
there don't use it as part of their job, they instead of install ivy once 
when setting up the jenkins server (in the home dir of the jenkins user)

I suspect the error you are running into may have to do with directory 
permissions of your jenkins server not letting the job write to the 
jenkins home dir?  or some other path/permissions incompatibility.

You could consider following the instruction in the ivy-fail warning to 
have ivy-bootstrap put the ivy jar files in a custom path inside hte 
workspace of your job, and then use "-lib" to point at that directory when 
running solr tests.

Alternatively, my preference for setting up jenkins jobs these days is to 
use docker, and let all the per-job activity (inlcuding the git co of 
lucene and the ivy bootstraping) happen inside the docker container.

For example: this is a set of scripts/configs i use for an "ondemand" 
jenkins job i have, that let's me checkout arbitrary branches/commits of 
lucene-solr, apply arbitrary patches, and the nrun arbitrary build 
commands (ie: ant test) using arbitrary JDK versions -- all configured at 
build time with build params...

: ivy-fail:
:      [echo]
:      [echo]      This build requires Ivy and Ivy could not be found in
: your ant classpath.
:      [echo]
:      [echo]      (Due to classpath issues and the recursive nature of
: the Lucene/Solr
:      [echo]      build system, a local copy of Ivy can not be used an
: loaded dynamically
:      [echo]      by the build.xml)
:      [echo]
:      [echo]      You can either manually install a copy of Ivy 2.3.0
: in your ant classpath:
:      [echo]
:      [echo]
:      [echo]      Or this build file can do it for you by running the
: Ivy Bootstrap target:
:      [echo]        ant ivy-bootstrap
:      [echo]
:      [echo]      Either way you will only have to install Ivy one time.
:      [echo]
:      [echo]      'ant ivy-bootstrap' will install a copy of Ivy into
: your Ant User Library:
:      [echo]        /home/jenkins/.ant/lib
:      [echo]
:      [echo]      If you would prefer, you can have it installed into
: an alternative
:      [echo]      directory using the
: "-Divy_install_path=/some/path/you/choose" option,
:      [echo]      but you will have to specify this path every time you
: build Lucene/Solr
:      [echo]      in the future...
:      [echo]        ant ivy-bootstrap -Divy_install_path=/some/path/you/choose
:      [echo]        ...
:      [echo]        ant -lib /some/path/you/choose clean compile
:      [echo]        ...
:      [echo]        ant -lib /some/path/you/choose clean compile
:      [echo]
:      [echo]      If you have already run ivy-bootstrap, and still get
: this message, please
:      [echo]      try using the "--noconfig" option when running ant,
: or editing your global
:      [echo]      ant config to allow the user lib to be loaded.  See
: the wiki for more details:
:      [echo]
:      [echo]


View raw message