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

Environment variables are not set in init script

XMLWordPrintable

      It looks like init-scripts don't get the environment variables defined for a node, or global environment variables defined in the main Configure Jenkins page, injected. At least for EC2 nodes.

      The environment variables are present when running jobs, but not when running init scripts. Even when those environment variables are shown in the "Enviroment Variables" list under "System Information" for a node, an init script that has a line like:

      env > /tmp/init-environ
      

      will print an environment that doesn't include them, and shell substitutions won't use them.

      In case they were set but not exported I tested with:

      set > /tmp/set-environ
      

      but the vars weren't present there either.

      This makes it harder to parameterize init scripts.

      The environment that was set was:

      SHELL=/bin/bash
      TERM=dumb
      USER=root
      SUDO_USER=admin
      SUDO_UID=1000
      USERNAME=root
      MAIL=/var/mail/root
      PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/X11R6/bin
      PWD=/home/admin
      SHLVL=1
      SUDO_COMMAND=/tmp/init.sh
      HOME=/root
      LOGNAME=root
      SUDO_GID=1000
      _=/usr/bin/env
      

            francisu Francis Upton
            ringerc Craig Ringer
            Votes:
            2 Vote for this issue
            Watchers:
            5 Start watching this issue

              Created:
              Updated: