Hi!
I have run some tests to determine additional information on this issue:
1. Global configuration:
Custom tool installation "gcc-4.9.2-i386" as ZIP-Download; Sub-directory of extracted archives = bin (Ie. sub-folder of executable).
Overriden (global) tool-location of "(Custom tool" gcc-4.9.2-i386"): Home = C:\tools\master\gcc-4.9.2-i386
2. Addition slave 'SLAVE1', with
tool-location of "(Custom tool) gcc-4.9.2-i386": Home = C:\slave\tools\gcc-4.9.2-i386
A) If a job (with installing this tool) runs on master, following occurs
- Download and unpacking to C:\webserver\Jenkins\tools\com.cloudbees.jenkins.plugins.customtools.CustomTool\gcc-4.9.2-i386
(in not already done)
- Setting GCC-4.9.2-I386_HOME=C:\webserver\Jenkins\tools\com.cloudbees.jenkins.plugins.customtools.CustomTool\gcc-4.9.2-i386\bin
- This location (GCC-4.9.2-I386_HOME) is added to the environment variable PATH
Note: The (global) configured tool-location isn't used.
B) If the same job run on a slave (Ie. SLAVE1, configured as written above), following occurs:
- Setting GCC-4.9.2-I386_HOME=C:\slave\tools\gcc-4.9.2-i386
- This location (GCC-4.9.2-I386_HOME) is added to the environment variable PATH
As result of the configured tool-location (for this tool on a slave):
- No download und unpacking takes place.
- The sub-directory (bin) isn't added to the configured tool-location.
Based on these tests, my personal conclusio is: Don't configure a tool location;
to "enforce" a similar behavior (+ automatic installation) on master and slave(s).
Maybe the feature-request as describe in https://issues.jenkins-ci.org/browse/JENKINS-27158 can be implemented in a future release:
Optionally disabling add of HOME-directory to PATH-variable (but that's my personal opinion/wish).
BR,
Markus
Markus, do you run your job on the master node?
The described use-case definitely works well on slaves.