Php 未找到全局细枝变量的Symfony insight环境变量
为了提高代码质量,我正在使用gitlab CI运行Symfony Insight 我最近添加了GoogleReCAPTCHA,它需要一个公共令牌(在twig中使用)和一个私有令牌(在controller中使用) 为了做一个干净的工作,我添加了它们作为环境变量,添加了pub变量作为twig全局变量,并使用getenv获得了私有变量 我现在在Symfony insight上收到“Symfony应用程序应可启动”错误,并显示以下stacktrace: Symfony\Component\DependencyInjection\Exception\EnvNotFoundException:未找到环境变量:“RECAPTCHA\U PUBLIC\U KEY”。在/home/foobar/code/vendor/symfony/dependency injection/EnvVarProcessor.php:97中 请注意,在本地和php单元测试(也由CI运行)上,一切都正常工作 我猜insight在尝试启动全局twig变量时没有找到env var 这是我的.env.dist文件:(这些密钥是google测试密钥,不是我的真实密钥,别担心) 以及我的gitlab ci insight配置:Php 未找到全局细枝变量的Symfony insight环境变量,php,symfony,twig,gitlab-ci,symfony4,Php,Symfony,Twig,Gitlab Ci,Symfony4,为了提高代码质量,我正在使用gitlab CI运行Symfony Insight 我最近添加了GoogleReCAPTCHA,它需要一个公共令牌(在twig中使用)和一个私有令牌(在controller中使用) 为了做一个干净的工作,我添加了它们作为环境变量,添加了pub变量作为twig全局变量,并使用getenv获得了私有变量 我现在在Symfony insight上收到“Symfony应用程序应可启动”错误,并显示以下stacktrace: Symfony\Component\Depende
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
第一个想法:您可以在gitlab-ci.yml的
变量
部分插入令牌
第二个想法是在gitlab ci.yml中脚本之前的
部分中添加命令cp.env.dist.env
。谢谢您的回答。我尝试了第一个想法,但没有成功。对于第二个,symfony insight应该进行复制,这里是他们的默认conf文件:!我猜它是为symfony 4更新的,因为这是一个symfony 2-3版本的情况更新。我试着添加以下几行:pre|u composer_script:|#/bin/bash cp.env.dist.env正如文档建议的那样,在insight conf中。我还尝试将其作为变量添加到gitlab-ci.yml和before脚本中。它们都不起作用。
globals:
recaptcha_public_key: '%env(RECAPTCHA_PUBLIC_KEY)%'
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