Incorrect PATH over pipeline nodes

XMLWordPrintable

    • Type: Bug
    • Resolution: Not A Defect
    • Priority: Major
    • Component/s: 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.

            Assignee:
            Jesse Glick
            Reporter:
            Charl Thiem
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: