Incorrect PATH over pipeline nodes

This issue is archived. You can view it, but you can't modify it. Learn more

XMLWordPrintable

      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
            Archiver:
            Jenkins Service Account

              Created:
              Updated:
              Resolved:
              Archived: