Вчера сходил с ума 🤪 Не мог понять в чем проблема в CI В GitLab CI: переменная не раскрывается и приходит как литерал $MY_VAR Вот вам пример, сможете сказать почему переменная не расрылась? Переменная определена в Settings → CI/CD → Variables проекта. Protected выключено. doc-sync: stage: review image: name: registry.gitlab.com/svk-ai-code/confluence-sync/agent:7 rules: - if: $CI_MERGE_REQUEST_IID script: - python main.py variables: OPENAI_KEY: $OPENAI_KEY Я уже что только не пробовал, убирал protected, логировал дебажил, а в итоге... Ответ: Когда в variables: VAR: $VAR — это циклическая ссылка. GitLab (особенно на старых runner'ах) не раскрывает её и передаёт как литеральную строку. Чтобы поффиксить, оставляем в variables: только то, где задаём дефолт через ${VAR:-default}. Остальное — лишнее.