Uploaded image for project: 'Jenkins'
  1. Jenkins
  2. JENKINS-37800

Incorrect PATH over pipeline nodes

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Not A Defect
    • Icon: Major Major
    • pipeline
    • 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.

            jglick Jesse Glick
            trojanc Charl Thiem
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: