In Buildbot-0.8.3 and higher, slaves provide their environment variables to the
master on connect. These can be copied into Buildbot properties with the
SetPropertiesFromEnv
step. Pass a variable or list of variables in the
variables
parameter, then simply use the values as properties in a later
step.
Note that on Windows, environment variables are case-insensitive, but Buildbot
property names are case sensitive. The property will have exactly the variable
name you specify, even if the underlying environment variable is capitalized
differently. If, for example, you use variables=['Tmp']
, the result
will be a property named Tmp
, even though the environment variable is
displayed as TMP
in the Windows GUI.
from buildbot.steps.slave import SetPropertiesFromEnv from buildbot.steps.shell import Compile f.addStep(SetPropertiesFromEnv(variables=["SOME_JAVA_LIB_HOME", "JAVAC"])) f.addStep(Compile(commands=[WithProperties("%s","JAVAC"), "-cp", WithProperties("%s", "SOME_JAVA_LIB_HOME")))
Note that this step requires that the Buildslave be at least version 0.8.3. For previous versions, no environment variables are available (the slave environment will appear to be empty).
See also SetProperty, which runs a command on the slave and sets a property based on the result.