问题描述
我尝试使用 capistrano 创建我的 staging
环境。但是我遇到了缺少环境变量的错误..
tail -f api-staging/current/var/logs/prod-{current_date}.log
PHP.CRITICAL: Uncaught Exception: Environment variable not found: "{project}__DATABASE_NAME_STAGING". {"exception":"[object] (Symfony\\Component\\DependencyInjection\\Exception\\EnvNotFoundException(code: 0): Environment variable not found: \"{project}__DATABASE_NAME_STAGING\". at /var/www/{project}/api-staging/shared/vendor/symfony/symfony/src/Symfony/Component/DependencyInjection/Container.PHP:445
我将在 default_env
文件中发送我的 staging.rb
。
...
set :stage,"staging"
set :symfony_env,"staging"
set :branch,"staging"
set :deploy_to,'/var/www/{project}/api-staging'
set :controllers_to_clear,[]
set :composer_install_flags,'--prefer-dist --no-interaction --optimize-autoloader'
set :default_env,{
...
'{project}__DATABASE_NAME_STAGING' => '{project}-staging',...
'SYMFONY_ENV' => 'staging'
}
...
parameters:
...
database_name: '%env({project}__DATABASE_NAME_STAGING)%'
...
我在 .env
、/api-staging
、/api-staging/current
中有一个 /api-staging/shared
文件。
该变量可通过 printenv
命令查看。
app_staging.PHP
:
require __DIR__.'/../vendor/autoload.PHP';
Debug::enable();
if (file_exists(__DIR__ . '/../.env')) {
$dotenv = new Dotenv();
$dotenv->load(__DIR__ . '/../.env');
}
$kernel = new AppKernel('staging',false);
$request = Request::createFromGlobals();
$response = $kernel->handle($request);
$response->send();
$kernel->terminate($request,$response);
capistrano 部署脚本:
➜ {project}-api git:(staging) ✗ cap staging deploy
INFO [d063be0e] Running /usr/bin/env mkdir -p /tmp as {project}-@deploy-server.net
INFO [d063be0e] Finished in 0.400 seconds with exit status 0 (successful).
INFO Uploading /tmp/git-ssh-{project}-staging-peter.sh 100.0%
INFO [4b870bae] Running /usr/bin/env chmod 700 /tmp/git-ssh-{project}-staging.sh as {project}-@deploy-server.net
INFO [4b870bae] Finished in 0.093 seconds with exit status 0 (successful).
INFO [a548962d] Running /usr/bin/env git ls-remote git@github.com:{project}/{project}-api-mobile.git HEAD as {project}-@deploy-server.net
INFO [a548962d] Finished in 2.485 seconds with exit status 0 (successful).
INFO [d426eb0c] Running /usr/bin/env mkdir -p /var/www/{project}.com/api-staging/shared /var/www/{project}.com/api-staging/releases as {project}-@deploy-server.net
INFO [d426eb0c] Finished in 0.097 seconds with exit status 0 (successful).
INFO [c04dd98c] Running /usr/bin/env mkdir -p /var/www/{project}.com/api-staging/shared/app/logs /var/www/{project}.com/api-staging/shared/vendor /var/www/{project}.com/api-staging/shared/web/vendor /var/www/{project}.com/api-staging/shared/web/assets /var/www/{project}.com/api-staging/shared/web/uploads/user_data as {project}-@deploy-server.net
INFO [c04dd98c] Finished in 0.129 seconds with exit status 0 (successful).
INFO [7ada2395] Running /usr/bin/env mkdir -p /var/www/{project}.com/api-staging/shared/app/config as {project}-@deploy-server.net
INFO [7ada2395] Finished in 0.095 seconds with exit status 0 (successful).
INFO The repository mirror is at /var/www/{project}.com/api-staging/repo
INFO [59b8f0ed] Running /usr/bin/env git remote set-url origin git@github.com:{project}/{project}-api-mobile.git as {project}-@deploy-server.net
INFO [59b8f0ed] Finished in 0.136 seconds with exit status 0 (successful).
INFO [d95369a4] Running /usr/bin/env git remote update --prune as {project}-@deploy-server.net
INFO [d95369a4] Finished in 6.133 seconds with exit status 0 (successful).
INFO [887d5b22] Running /usr/bin/env mkdir -p /var/www/{project}.com/api-staging/releases/20210120093201 as {project}-@deploy-server.net
INFO [887d5b22] Finished in 0.101 seconds with exit status 0 (successful).
INFO [b692f95a] Running /usr/bin/env git archive staging | /usr/bin/env tar -x -f - -C /var/www/{project}.com/api-staging/releases/20210120093201 as {project}-@deploy-server.net
INFO [b692f95a] Finished in 1.008 seconds with exit status 0 (successful).
INFO [8cd4eca0] Running /usr/bin/env echo "bef560403dcfd018aab49385c0177d8b944a0ae9" > REVISION as {project}-@deploy-server.net
INFO [8cd4eca0] Finished in 0.111 seconds with exit status 0 (successful).
INFO [1e4d6687] Running /usr/bin/env mkdir -p /var/www/{project}.com/api-staging/releases/20210120093201/app/config as {project}-@deploy-server.net
INFO [1e4d6687] Finished in 0.094 seconds with exit status 0 (successful).
INFO [b17014c7] Running /usr/bin/env ln -s /var/www/{project}.com/api-staging/shared/app/config/parameters.yml /var/www/{project}.com/api-staging/releases/20210120093201/app/config/parameters.yml as {project}-@deploy-server.net
INFO [b17014c7] Finished in 0.101 seconds with exit status 0 (successful).
INFO [5668f9db] Running /usr/bin/env ln -s /var/www/{project}.com/api-staging/shared/app/config/parameters_staging.yml /var/www/{project}.com/api-staging/releases/20210120093201/app/config/parameters_staging.yml as {project}-@deploy-server.net
INFO [5668f9db] Finished in 0.097 seconds with exit status 0 (successful).
INFO [7b9dcfe3] Running /usr/bin/env mkdir -p /var/www/{project}.com/api-staging/releases/20210120093201/app /var/www/{project}.com/api-staging/releases/20210120093201 /var/www/{project}.com/api-staging/releases/20210120093201/web /var/www/{project}.com/api-staging/releases/20210120093201/web/uploads as {project}-@deploy-server.net
INFO [7b9dcfe3] Finished in 0.097 seconds with exit status 0 (successful).
INFO [7801f563] Running /usr/bin/env ln -s /var/www/{project}.com/api-staging/shared/app/logs /var/www/{project}.com/api-staging/releases/20210120093201/app/logs as {project}-@deploy-server.net
INFO [7801f563] Finished in 0.098 seconds with exit status 0 (successful).
INFO [2cd97276] Running /usr/bin/env ln -s /var/www/{project}.com/api-staging/shared/vendor /var/www/{project}.com/api-staging/releases/20210120093201/vendor as {project}-@deploy-server.net
INFO [2cd97276] Finished in 0.095 seconds with exit status 0 (successful).
INFO [327ccbdf] Running /usr/bin/env ln -s /var/www/{project}.com/api-staging/shared/web/vendor /var/www/{project}.com/api-staging/releases/20210120093201/web/vendor as {project}-@deploy-server.net
INFO [327ccbdf] Finished in 0.096 seconds with exit status 0 (successful).
INFO [57a49794] Running /usr/bin/env rm -rf /var/www/{project}.com/api-staging/releases/20210120093201/web/assets as {project}-@deploy-server.net
INFO [57a49794] Finished in 0.111 seconds with exit status 0 (successful).
INFO [c397cb05] Running /usr/bin/env ln -s /var/www/{project}.com/api-staging/shared/web/assets /var/www/{project}.com/api-staging/releases/20210120093201/web/assets as {project}-@deploy-server.net
INFO [c397cb05] Finished in 0.096 seconds with exit status 0 (successful).
INFO [ff3ef280] Running /usr/bin/env ln -s /var/www/{project}.com/api-staging/shared/web/uploads/user_data /var/www/{project}.com/api-staging/releases/20210120093201/web/uploads/user_data as {project}-@deploy-server.net
INFO [ff3ef280] Finished in 0.108 seconds with exit status 0 (successful).
INFO [24f32f8a] Running /usr/bin/env mkdir -pv app/cache as {project}-@deploy-server.net
INFO [24f32f8a] Finished in 0.093 seconds with exit status 0 (successful).
INFO [a7cdccc4] Running PHP /var/www/{project}.com/api-staging/shared/composer.phar install --prefer-dist --no-interaction --optimize-autoloader as {project}-@deploy-server.net
INFO [a7cdccc4] Finished in 6.522 seconds with exit status 0 (successful).
INFO [8d1b8d47] Running /usr/bin/env PHP bin/console cache:warmup --no-debug as {project}-@deploy-server.net
INFO [8d1b8d47] Finished in 5.853 seconds with exit status 0 (successful).
INFO [4b4cb3e6] Running /usr/bin/env PHP bin/console assets:install web --symlink --no-debug as {project}-@deploy-server.net
INFO [4b4cb3e6] Finished in 0.293 seconds with exit status 0 (successful).
INFO [1924899f] Running /usr/bin/env ln -s /var/www/{project}.com/api-staging/releases/20210120093201 /var/www/{project}.com/api-staging/releases/current as {project}-@deploy-server.net
INFO [1924899f] Finished in 0.093 seconds with exit status 0 (successful).
INFO [0049a359] Running /usr/bin/env mv /var/www/{project}.com/api-staging/releases/current /var/www/{project}.com/api-staging as {project}-@deploy-server.net
INFO [0049a359] Finished in 0.094 seconds with exit status 0 (successful).
INFO Keeping 2 of 3 deployed releases on deploy-server.net
INFO [ca63560c] Running /usr/bin/env rm -rf /var/www/{project}.com/api-staging/releases/20210118171711 as {project}-@deploy-server.net
INFO [ca63560c] Finished in 2.403 seconds with exit status 0 (successful).
INFO [60924dca] Running /usr/bin/env echo "Branch staging (at bef560403dcfd018aab49385c0177d8b944a0ae9) deployed as release 20210120093201 by peter" >> /var/www/{project}.com/api-staging/revisions.log as {project}-@deploy-server.net
INFO [60924dca] Finished in 0.106 seconds with exit status 0 (successful).
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)