Я пытаюсь установить переменную окружения для моего GitLab Runner на основе ветви, из которой происходит принятие.
У меня есть 4 кластера kubernetes: подготовка, интеграция, производство и qa.По сути, я хочу развернуть свое приложение в соответствующем кластере на основе ветви, к которой я обращаюсь.
image: google/cloud-sdk:latest
variables:
DOCKER_HOST: tcp://docker:2375/
DOCKER_DRIVER: overlay2
services:
- docker:dind
before_script:
- docker info
stages:
- publish
publish:
stage: publish
script:
- if [ "$CI_COMMIT_REF_NAME" = "master" ]; then $ENVIRONMENT="production"; else $ENVIRONMENT="$CI_COMMIT_REF_NAME"; fi
- echo $ENVIRONMENT
.
.
.
- kubectl apply -f cfg/${ENVIRONMENT}/web-deployment.yaml
only:
- master
- integration
- qa
- staging
Каждый раз, когда я запускаю свой сценарий с другой формой оператора if, я получаю следующую ошибку:
/bin/bash: line 83: =integration: command not found
ERROR: Job failed: exit code 1
Итак, насколько я могу судить, переменная устанавливается, но сценарий завершается.Я видел несколько SO вопросов, связанных с этой проблемой, но ничего о том, как установить переменную и затем продолжить сценарий.Как я могу исправить эту проблему?