In my gitlab-ci.yml I want to re-use conditions using variables.
So instead of this:
job1:
script:
- echo "job executed"
rules:
- if: $CI_COMMIT_REF_SLUG =~ "example" || $MY_VAR == "value" && $CI_COMMIT_REF_SLUG =~ "test"
job2:
variables:
MY_VAR: value
script:
- echo "job executed"
rules:
- if: $CI_COMMIT_REF_SLUG =~ "example" || $MY_VAR == "value"
I can do this:
variables:
EXAMPLE_CONDITION: $CI_COMMIT_REF_SLUG =~ "example" || $MY_VAR == "value"
job1:
script:
- echo "job executed"
rules:
- if: $EXAMPLE_CONDITION && $CI_COMMIT_REF_SLUG =~ "test"
job2:
variables:
MY_VAR: value
script:
- echo "job executed"
rules:
- if: $EXAMPLE_CONDITION
Unfortunately, this does not seem to work and the rules do not apply as expected.
Is there a way to put rules:if
conditions into variables?