I'm aware of the possibility to add pipeline environment variables and secret through the Bitbucket GUI. However I want to set my environmental variables in the `bitbucket-pipelines.yml` file.
Thus far the only way I found out to set these variables is by declaring the variables in the script of a step:
pipelines:
default:
steps:
- step:
script:
- ->
FOO=foo
BAR=bar
./app1.sh
- ->
FOO=foe
./app2.sh
- ->
FOO=fou
BAR=baz
./app1.sh && ./app2.sh
With the configuration above is a script defined with 3 commands. Each command is trying to run an shell script `app1.sh` and `app2.sh` they both require the environmental variables `FOO` and `BAR` to be set. Unfortunately in the example above only the first command will run the shell scripts with all variables. Although the first command defines the `BAR` variable, it is lost in the second command where only the `FOO` variable is defined. In the third command `app1.sh` runs fine but `app2.sh` runs without any variables.
I wonder if it is possible to set variables for all or one specific pipeline and for a single step? Where will be kept in mind that variables (re-)defined on a lower level will override the more global variables. Preferably without the use of a custom pipeline.