Symfony insight env var не найден для глобальной переменной ветки - PullRequest
0 голосов
/ 05 января 2019

Я использую Symfony Insight с помощью gitlab CI для улучшения качества моего кода.

Я недавно добавил gap recaptcha, для которого нужен публичный (используется в ветке) и приватный токен (используется в контроллере).

Чтобы сделать чистую работу, я добавил их обе как переменные окружения, добавил pub как глобальную переменную twig, и я получил частную с getenv.

Теперь я получаю сообщение об ошибке «Приложение Symfony должно быть загружаемым» в представлении Symfony со следующей трассировкой стека:

Symfony \ Component \ DependencyInjection \ Exception \ EnvNotFoundException: переменная среды не найдена: "RECAPTCHA_PUBLIC_KEY". в /home/foobar/code/vendor/symfony/dependency-injection/EnvVarProcessor.php:97

Обратите внимание, что все работает как на локальных, так и на php модульных тестах (также запускаемых CI)

Я предполагаю, что понимание не находит переменную env при попытке инициировать глобальную переменную ветки.

Вот мой файл .env.dist: (ключи - ключ тестирования Google, не мои настоящие, не волнуйтесь)

###> google-recaptcha ###
RECAPTCHA_PRIVATE_KEY=6LeIxAcTAAAAAGG-vFI1TnRWxMZNFuojJ4WifJWe
RECAPTCHA_PUBLIC_KEY=6LeIxAcTAAAAAJcZVRqyHh71UMIEGNQ_MXjiZKhI
###< google-recaptcha ###

Вот мое объявление переменной ветки:

globals:
    recaptcha_public_key: '%env(RECAPTCHA_PUBLIC_KEY)%'

И мой конфиг Gitlab-CI Insight:

insight:
    stage: insight
    image: php:7.1
    tags:
        - symfony4
    script:
        - curl -o insight.phar -s https://get.insight.symfony.com/insight.phar
        - php insight.phar analyze --no-interaction --no-ansi cc8f0c98-ce1b-4b1e-acc4-9dfafd4bafc4 -v --reference=$CI_COMMIT_SHA --user-uuid=23888e4d-ec4f-479b-90c6-ee454c7bfc88 --api-token=b1dcbef05392e237a5ee5d29ea348b9ab7179245b0f086c3490478b0ae643272 --fail-condition="counts.critical > 0 or counts.major > 0"
    only:
        - develop
        - master
variables:
    MYSQL_DATABASE: higalsymf
    DATABASE_HOST: mysql
    MYSQL_ROOT_PASSWORD: root

1 Ответ

0 голосов
/ 05 января 2019

Первая идея: вы можете вставить токены в секцию variables в gitlab-ci.yml.

Вторая идея - добавить команду cp .env.dist .env в секции before_script в gitlab-ci.yml.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...