Установить переменную gitlab-ci условно для другой переменной

#regex #variables #gitlab #conditional #gitlab-ci

#регулярное выражение #переменные #gitlab #условные операторы #gitlab-ci

Вопрос:

Довольно распространенной необходимостью является установка значений некоторых переменных на основе значения другой переменной. Я не могу найти способ сделать это в разделе «переменные» файла gitlab-ci.yml.

У меня есть конвейер, который создает несколько развертываемых образов. Что я хочу сделать, это выбрать полные доменные имена набора виртуальных машин, на которых я хочу развернуть созданные образы, на основе имени среды развертывания, определенного в переменной конвейера Gitlab. Это немного сложнее, чем это, но любой оператор case, if / then /else или поиск по таблице удовлетворит требованию.

Как gitlab-ci может это поддерживать?

Комментарии:

1. Я попробовал это, которое CI Lint счел приемлемым, но которое не дало желаемого результата: TARGET: $( $DEPLOY_INTO_ENVIRONMENT == "CI" amp;amp; "TEST" || "DEPLOY" )

2. Вам не обязательно использовать variables раздел, это всего лишь удобство. Вы всегда можете создать свои переменные с помощью сценариев оболочки

3. Спасибо за это предложение — я думал именно в этом направлении.

4. К сожалению, на переменные, определенные таким образом, нельзя ссылаться в предложениях «только: переменные», чтобы выбрать, будет ли выполняться задание или нет.

5. @ImmoHuneke вы должны опубликовать это в качестве ответа. Это полезно даже два года спустя 🙂