#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 вы должны опубликовать это в качестве ответа. Это полезно даже два года спустя 🙂