Я использую capifony с symfony 2.
Мой deploy.rb
set :application, "Name project"
set :domain, "My Ip"
set :deploy_to, "My folder"
set :app_path, "app"
set :repository, "[email protected]:dou/test.git"
set :scm, :git
# Or: `accurev`, `bzr`, `cvs`, `darcs`, `subversion`, `mercurial`, `perforce`, or `none`
set :model_manager, "doctrine"
# Or: `propel`
set :shared_files, ["app/config/parameters.yml"]
set :shared_children, [app_path + "/logs", web_path + "/uploads", web_path + "/media", "vendor"]
set :use_composer, true
#set :composer_options, "--prefer-source --no-interaction"
set :deploy_via, :copy
set :branch, "master"
set :user, 'user'
set :password, 'pass'
role :web, domain # Your HTTP server, Apache/etc
role :app, domain, :primary => true # This may be the same as your `Web` server
set :keep_releases, 3
set :use_sudo, false
set :update_vendors, true
# Be more verbose by uncommenting the following line
logger.level = Logger::MAX_LEVEL
#set :dump_assetic_assets, true
set :ssh_options, { :forward_agent => true }
default_run_options[:pty] = true
И все было в порядке. Но вчера у меня была ошибка.
* 2013-12-10 11:51:23 executing `symfony:cache:warmup'
--> Warming up cache
* executing "sh -c 'cd /home/myproject/beta/releases/20131210094811 && php app/console cache:warmup --env=prod --no-debug'"
servers: ["IP"]
[IP] executing command
** [out :: IP] Warming up the cache for the prod environment with debug false
command finished in 18712ms
*** [deploy:update_code] rolling back
* executing "rm -rf /home/myproject/beta/releases/20131210094811; true"
servers: ["IP"]
[IP] executing command
command finished in 633ms
failed: "sh -c 'sh -c '\\''cd /home/myproject/beta/releases/20131210094811 && php app/console cache:warmup --env=prod --no-debug'\\'''" on IP
Capifony пытается очистить кеш для prod, но не может. Могу ли я увидеть какую-то ошибку, почему он не может очистить кеш? Он очищает кеш для dev, но для prod у меня не получается без ошибок.
umask
для пользователя развертывания на сервере? - person Nicolai Fröhlich   schedule 10.12.2013002
. Я предлагал проблему с разрешением (т.е. каталог кеша не доступен для записи) - этот вопрос может быть связан с этот вопрос. - person Nicolai Fröhlich   schedule 10.12.2013cap -d deploy
и не запускаюphp app/console cache:warmup --env=prod --no-debug
, но это не решение. - person denys281   schedule 10.12.2013cache:warmup
-шаг и посмотреть, правильно ли завершится развертывание. после этого подключитесь к серверу через ssh вручную, вызовите команду и проверьте ошибки. Далее проверьте права доступа к файлам и права собственности на папкуcache
. - person Nicolai Fröhlich   schedule 10.12.2013cap -d deploy
и не выполняю команду cache:warmup. И после этого в моем новом релизе делаюphp app/console cache:warmup --env=prod --no-debug
и все работает без ошибок. Я попытаюсь найти, как выполнить cache:warmup без --no-debug во время развертывания. - person denys281   schedule 10.12.2013--no-debug
условно (в зависимости от настройкиsymfony_debug
) добавлен в определениеconsole_options
вlib/capifony_symfony2.rb#L167
. Просто добавьтеset :symfony_debug, true
к вашемуdeploy.rb
. - person Nicolai Fröhlich   schedule 10.12.2013symfony_debug
установлено значение true? - person Nicolai Fröhlich   schedule 10.12.2013