找不到全局树枝变量的Symfony见解环境变量

时间:2019-01-05 16:48:53

标签: php symfony twig gitlab-ci symfony4

我正在使用gitlab CI运行Symfony Insight,以提高代码质量。

我最近添加了google recaptcha,它需要一个公共(用​​于树枝)和一个私有令牌(用于控制器)。

要做一个干净的工作,我将它们都添加为环境变量,将pub一个添加为twig全局变量,然后使用getenv获得私有变量。

我现在在symfony见解中收到“ Symfony应用程序应可启动”错误,并带有以下stacktrace:

  

Symfony \ Component \ DependencyInjection \ Exception \ EnvNotFoundException:找不到环境变量:“ RECAPTCHA_PUBLIC_KEY”。在/home/foobar/code/vendor/symfony/dependency-injection/EnvVarProcessor.php:97

请注意,在本地和php单元测试中,一切都正常运行(也由CI运行)

我猜想在尝试启动全局树枝变量时,洞察力没有找到环境变量。

这是我的.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:
    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 :(得分:0)

第一个想法:您可以在gitlab-ci.yml的variables部分插入令牌。

第二个想法是在gitlab-ci.yml的cp .env.dist .env部分添加命令before_script