The Environment VariablesΒΆ
pipeline:
- env:
a: "hello"
- stage(Environment Variables):
- env:
b: "world"
- tasks(ordered):
- env:
c: "for all"
- shell:
script: |
echo "a=$a"
echo "b=$b"
echo "c=$c"
An extract from the output when running the pipeline:
2017-11-20 18:47:08,209 - spline.components.bash - Running script /tmp/pipeline-script-w2MUih.sh
2017-11-20 18:47:08,215 - spline.components.tasks - | a=hello
2017-11-20 18:47:08,215 - spline.components.tasks - | b=world
2017-11-20 18:47:08,216 - spline.components.tasks - | c=for all
All defined variables are merged together:
- first all environment variables on pipeline level are taken
- in the resulting dictionary all environment variables from stage level are used for updating. New variables are added and existing variables are overwritten.
- in the resulting dictionary all environment variables from tasks level are used for updating. New variables are added and existing variables are overwritten.
Please note: All values have to be strings.
In a Bash script you also can refer to the variables using
Jinja templating like {{ env.a }}
.