-
Bug
-
Resolution: Not A Defect
-
Major
-
None
When having a pipeline task running over multiple nodes in sequence, the PATH environment is not reset when running on the next node. Here is a sample
node('linux'){ env.PATH = "${env.PATH}:/opt/myapp" echo "${env.PATH}" } node('windows'){ env.PATH = "${env.PATH}:c:\\opt\\myapp" echo "${env.PATH}" }
Output:
[Pipeline] node Running on linux in /var/lib/jenkins/jobs/test-job/workspace [Pipeline] { [Pipeline] echo /sbin:/usr/sbin:/bin:/usr/bin:/opt/myapp [Pipeline] } [Pipeline] // node [Pipeline] node Running on windows in c:/jenkins-slave/workspace/test-job [Pipeline] { [Pipeline] echo /sbin:/usr/sbin:/bin:/usr/bin:/opt/myapp:c:\opt\myapp [Pipeline] } [Pipeline] // node [Pipeline] End of Pipeline Finished: SUCCESS
The PATH variable is wrong when it proceeds to the second (Windows) node.
I'd expect the PATH to be whatever the Windows PATH is currently set to on the node, plus the extra path I wanted to inject.
- is related to
-
JENKINS-40338 Linux Master and Windows Slave ends up with unusable PATH
- Closed