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

withEnv PATH+ syntax doesn't work in docker.image

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Duplicate
    • Icon: Blocker Blocker
    • docker-plugin, pipeline
    • None
    • Jenkins 2.121.2

      I'm noticing  different behavior after upgrading from Jenkins 1.x to 2.121.2 in how PATH is set.   The withEnv pipeline step includes a special syntax of PATH+ which will update the PATH.  However, this is no longer setting the PATH when nested under the Docker Pipeline docker.image

      In the example below, $MYAPP is available on the output under the PATH var in both nodes below in version 1.642.4.  However, $MYAPP is not set in the PATH output on the node using the docker.image step on Jenkins 2.121.2

       

       

      //ADDS $MYAPP to $PATH
      node {
       withEnv(["PATH+MYAPP=/path/to/myapp/bin"]) {
         stage('Test') {
           sh 'printenv | sort'
         }
        }
      }
      //DOESN'T ADD $MYAPP to $PATH
      node {
       docker.image('bash:latest').inside {
         withEnv(["PATH+MYAPP=/path/to/myapp/bin"]) {
           stage('Test') {
             sh 'printenv | sort'
           }
          }
        }
      }
      

       

       

            ndeloof Nicolas De Loof
            mevans Matt Evans
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: