0

Capifony cap deploy fails when clearing cache.

These are the logs.

I have tried many things such as doing app/console cache:clear on server and local.

Could you help me?

$ cap staging deploy
--> Updating code base with remote_cache strategy
--> Creating cache directory................................✔
--> Creating symlinks for shared directories................✔
--> Creating symlinks for shared files......................✔
--> Normalizing asset timestamps............................✔
--> Updating Composer.......................................✔
--> Installing Composer dependencies........................✘
*** [err :: somsom.jp] [RuntimeException]
*** [err :: somsom.jp] An error occurred when executing the "'cache:clear --no-warmup'" command.
*** [err :: somsom.jp] 
*** [err :: somsom.jp] Exception trace:
*** [err :: somsom.jp] () at /var/www/html/somsom.jp/shared/vendor/sensio/distribution-bundle/Sensio/Bundle/DistributionBundle/Composer/ScriptHandler.php:182
*** [err :: somsom.jp] Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::executeCommand() at /var/www/html/somsom.jp/shared/vendor/sensio/distribution-bundle/Sensio/Bundle/DistributionBundle/Composer/ScriptHandler.php:62
*** [err :: somsom.jp] Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::clearCache() at phar:///var/www/html/somsom.jp/releases/20131223074835/composer.phar/src/Composer/EventDispatcher/EventDispatcher.php:165
*** [err :: somsom.jp] Composer\EventDispatcher\EventDispatcher->executeEventPhpScript() at phar:///var/www/html/somsom.jp/releases/20131223074835/composer.phar/src/Composer/EventDispatcher/EventDispatcher.php:138
*** [err :: somsom.jp] Composer\EventDispatcher\EventDispatcher->doDispatch() at phar:///var/www/html/somsom.jp/releases/20131223074835/composer.phar/src/Composer/EventDispatcher/EventDispatcher.php:107
*** [err :: somsom.jp] Composer\EventDispatcher\EventDispatcher->dispatchCommandEvent() at phar:///var/www/html/somsom.jp/releases/20131223074835/composer.phar/src/Composer/Installer.php:288
*** [err :: somsom.jp] Composer\Installer->run() at phar:///var/www/html/somsom.jp/releases/20131223074835/composer.phar/src/Composer/Command/InstallCommand.php:110
*** [err :: somsom.jp] Composer\Command\InstallCommand->execute() at phar:///var/www/html/somsom.jp/releases/20131223074835/composer.phar/vendor/symfony/console/Symfony/Component/Console/Command/Command.php:244
*** [err :: somsom.jp] Symfony\Component\Console\Command\Command->run() at phar:///var/www/html/somsom.jp/releases/20131223074835/composer.phar/vendor/symfony/console/Symfony/Component/Console/Application.php:897
*** [err :: somsom.jp] Symfony\Component\Console\Application->doRunCommand() at phar:///var/www/html/somsom.jp/releases/20131223074835/composer.phar/vendor/symfony/console/Symfony/Component/Console/Application.php:191
*** [err :: somsom.jp] Symfony\Component\Console\Application->doRun() at phar:///var/www/html/somsom.jp/releases/20131223074835/composer.phar/src/Composer/Console/Application.php:117
*** [err :: somsom.jp] Composer\Console\Application->doRun() at phar:///var/www/html/somsom.jp/releases/20131223074835/composer.phar/vendor/symfony/console/Symfony/Component/Console/Application.php:121
*** [err :: somsom.jp] Symfony\Component\Console\Application->run() at phar:///var/www/html/somsom.jp/releases/20131223074835/composer.phar/src/Composer/Console/Application.php:83
*** [err :: somsom.jp] Composer\Console\Application->run() at phar:///var/www/html/somsom.jp/releases/20131223074835/composer.phar/bin/composer:43
*** [err :: somsom.jp] require() at /var/www/html/somsom.jp/releases/20131223074835/composer.phar:15
*** [err :: somsom.jp] 
*** [err :: somsom.jp] 
*** [err :: somsom.jp] install [--prefer-source] [--prefer-dist] [--dry-run] [--dev] [--no-dev] [--no-plugins] [--no-custom-installers] [--no-scripts] [--no-progress] [-v|vv|vvv|--verbose] [-o|--optimize-autoloader]
*** [err :: somsom.jp] 
*** [err :: somsom.jp] 
*** [deploy:update_code] rolling back
failed: "TERM=dumb sudo -u app /bin/sh -c 'sh -c '\\''cd /var/www/html/somsom.jp/releases/20131223074835 && php composer.phar install --no-dev --verbose --prefer-dist --optimize-autoloader --no-progress'\\'''" on somsom.jp

with logger.level = Logger::MAX_LEVEL

--> Installing Composer dependencies
  * executing "sh -c 'cd /var/www/html/somsom.jp/releases/20131223135618 && php composer.phar install --no-dev --verbose --prefer-dist --optimize-autoloader --no-progress'"
    servers: ["somsom.jp"]
    [somsom.jp] executing command
 ** [out :: somsom.jp] Loading composer repositories with package information
 ** [out :: somsom.jp] Installing dependencies from lock file
 ** [out :: somsom.jp] Warning: The lock file is not up to date with the latest changes in composer.json. You may be getting outdated dependencies. Run update to update them.
 ** [out :: somsom.jp] Nothing to install or update
 ** [out :: somsom.jp] Generating autoload files
 ** [out :: somsom.jp] [Symfony\Component\DependencyInjection\Exception\ParameterNotFoundException]
 ** [out :: somsom.jp] You have requested a non-existent parameter "locale".
 ** [out :: somsom.jp] Script Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::clearCache handling the post-install-cmd event terminated with an exception
*** [err :: somsom.jp] [RuntimeException]
*** [err :: somsom.jp] An error occurred when executing the "'cache:clear --no-warmup'" command.
*** [err :: somsom.jp] 
*** [err :: somsom.jp] Exception trace:
*** [err :: somsom.jp] () at /var/www/html/somsom.jp/shared/vendor/sensio/distribution-bundle/Sensio/Bundle/DistributionBundle/Composer/ScriptHandler.php:182
*** [err :: somsom.jp] Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::executeCommand() at /var/www/html/somsom.jp/shared/vendor/sensio/distribution-bundle/Sensio/Bundle/DistributionBundle/Composer/ScriptHandler.php:62
*** [err :: somsom.jp] Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::clearCache() at phar:///var/www/html/somsom.jp/releases/20131223135618/composer.phar/src/Composer/EventDispatcher/EventDispatcher.php:165
*** [err :: somsom.jp] Composer\EventDispatcher\EventDispatcher->executeEventPhpScript() at phar:///var/www/html/somsom.jp/releases/20131223135618/composer.phar/src/Composer/EventDispatcher/EventDispatcher.php:138
*** [err :: somsom.jp] Composer\EventDispatcher\EventDispatcher->doDispatch() at phar:///var/www/html/somsom.jp/releases/20131223135618/composer.phar/src/Composer/EventDispatcher/EventDispatcher.php:107
*** [err :: somsom.jp] Composer\EventDispatcher\EventDispatcher->dispatchCommandEvent() at phar:///var/www/html/somsom.jp/releases/20131223135618/composer.phar/src/Composer/Installer.php:288
*** [err :: somsom.jp] Composer\Installer->run() at phar:///var/www/html/somsom.jp/releases/20131223135618/composer.phar/src/Composer/Command/InstallCommand.php:110
*** [err :: somsom.jp] Composer\Command\InstallCommand->execute() at phar:///var/www/html/somsom.jp/releases/20131223135618/composer.phar/vendor/symfony/console/Symfony/Component/Console/Command/Command.php:244
*** [err :: somsom.jp] Symfony\Component\Console\Command\Command->run() at phar:///var/www/html/somsom.jp/releases/20131223135618/composer.phar/vendor/symfony/console/Symfony/Component/Console/Application.php:897
*** [err :: somsom.jp] Symfony\Component\Console\Application->doRunCommand() at phar:///var/www/html/somsom.jp/releases/20131223135618/composer.phar/vendor/symfony/console/Symfony/Component/Console/Application.php:191
*** [err :: somsom.jp] Symfony\Component\Console\Application->doRun() at phar:///var/www/html/somsom.jp/releases/20131223135618/composer.phar/src/Composer/Console/Application.php:117
*** [err :: somsom.jp] Composer\Console\Application->doRun() at phar:///var/www/html/somsom.jp/releases/20131223135618/composer.phar/vendor/symfony/console/Symfony/Component/Console/Application.php:121
*** [err :: somsom.jp] Symfony\Component\Console\Application->run() at phar:///var/www/html/somsom.jp/releases/20131223135618/composer.phar/src/Composer/Console/Application.php:83
*** [err :: somsom.jp] Composer\Console\Application->run() at phar:///var/www/html/somsom.jp/releases/20131223135618/composer.phar/bin/composer:43
*** [err :: somsom.jp] require() at /var/www/html/somsom.jp/releases/20131223135618/composer.phar:15
*** [err :: somsom.jp] 
*** [err :: somsom.jp] 
*** [err :: somsom.jp] install [--prefer-source] [--prefer-dist] [--dry-run] [--dev] [--no-dev] [--no-plugins] [--no-custom-installers] [--no-scripts] [--no-progress] [-v|vv|vvv|--verbose] [-o|--optimize-autoloader]
*** [err :: somsom.jp] 
*** [err :: somsom.jp] 
    command finished in 3638ms
*** [deploy:update_code] rolling back
  * executing "rm -rf /var/www/html/somsom.jp/releases/20131223135618; true"
    servers: ["somsom.jp"]
    [somsom.jp] executing command
    command finished in 152ms
failed: "TERM=dumb sudo -u app /bin/sh -c 'sh -c '\\''cd /var/www/html/somsom.jp/releases/20131223135618 && php composer.phar install --no-dev --verbose --prefer-dist --optimize-autoloader --no-progress'\\'''" on somsom.jp

It says that 'You have requested a non-existent parameter "locale"'

in my config.yml. it require %locale%

imports:
    - { resource: parameters.yml }
    - { resource: security.yml }
    - { resource: "@AcmeAdminBundle/Resources/config/admin.yml"}


framework:
    translator:      { fallback: %locale% }

and in parameters.yml. there is locale value.

parameters:    
    locale: ja

And it works correctly in local environment.

What is change on server?

whitebear
  • 11,200
  • 24
  • 114
  • 237

4 Answers4

1

In my view, I will just go to the app/cache directory and rm -rf prod or rm -rf dev.

TaylorR
  • 3,746
  • 5
  • 25
  • 42
  • He can't do that since the deployment process is atomic... either you deploy fully or you do not at all (file are being removed) – Jovan Perovic Dec 23 '13 at 09:37
1

Include this line into your deploy.rb to see much more details:

logger.level = Logger::MAX_LEVEL

Verify content of parameters.yml, it is a problem rather often.

Anton Babenko
  • 6,586
  • 2
  • 36
  • 44
  • Thanks my Logger level is already max. And I verify parameters.yml now. – whitebear Dec 23 '13 at 08:39
  • Then update your question with full output, so that we can see what is the problem in more details. – Anton Babenko Dec 23 '13 at 09:04
  • If you are sure that `parameters.yml` contains `locale: ja`, then double check that it is shared between deployments - `set :shared_files, ["app/config/parameters.yml"]` . If this is not the case, then I suggest you to run `cap -d deploy` and follow the process closely. – Anton Babenko Dec 24 '13 at 19:37
  • Hi Anton Babenko 'cap -d deploy' is very helpful!.I can stop in the middle of steps and confirm that parameters.yml is somehow blank.So I copy and paste it by manual operation. If I set once,it can be deployed always. I am not sure why parameters.yml is not uploaded automatically, but for now, I can deploy. – whitebear Dec 28 '13 at 09:12
  • If it sets in shared_files, then you can set content of it in `shared/app/config/parameters.yml` and it will be symlinked during deployment. Good luck @whitebear :) – Anton Babenko Dec 28 '13 at 16:04
0

I was very interested in the issue you were having with Capifony since I had number of them over the time.

This is what I have found on Google: Capistrano: use a custom user instead of root with sudo

So, do you have a line in your deploy.rb similar to this one?

set :default_shell,         "TERM=dumb sudo -u www-data /bin/sh"
Jovan Perovic
  • 19,846
  • 5
  • 44
  • 85
  • Exactly.I have this line set :default_shell, "TERM=dumb sudo -u app /bin/sh" . However I think it is not the cause of this problem. Since I use the same user in another capifony deploy script on the same server (it works well) – whitebear Dec 23 '13 at 12:28
0

I've had the same problem because I've registered a bundle (doctrine-fixture) in AppKernel, but used require-dev for installing it

so the composer.json part ("script" section of the symfony standard edition) dealing with the cache was screwed once it was working on the prod server

ROLO
  • 581
  • 4
  • 13