сваливать ресурсы dev и prod с помощью symfony2 + capifony

Когда я запускаю свое развертывание разработки cap, сбрасываются только ресурсы prod, а не ресурсы dev (т.е. когда я использую app_dev.php controller, css и js) — они пусты, если я не создаю дампы вручную.

Есть ли способ сделать так, чтобы капифония сваливала как производственные, так и девелоперские активы?
(CSS и JS в порядке с app.php)

Мой config.rb:

set :deploy_to, "/home/#{local_user}/development" # Le répertoire de destination
set :clear_controllers, false #permet de conserver le fichier app_dev.php
set :update_vendors, true
set :composer_options,  "--dev --verbose --prefer-dist --optimize-autoloader --no-progress"set :parameters_file, "parameters_development.yml"set :symfony_env, "dev"set :app_path, "app" # Le dossier d’application, laissez app
set :user, "root" # Le nom d’utilisateur du serveur distant
set :local_user, "foodmeup.net" # Le nom d’utilisateur du serveur distant

set :stages, %w(preprod production development)
set :default_stage, "development"set :stage_dir, "app/config"require 'capistrano/ext/multistage'

set :copy_dir, "/home/#{local_user}/tmp"set :copy_remote_dir, "/tmp"
set :repository, "git@gitlab.com:svassaux/foodmeup.git" # L’URL de votre repository
#set :branch, "master" # La branche Git, utile si vous pushez vos releases de prod sur une branche particulière
set :scm, :git # Type de gestionnaire de version
set :deploy_via, :copy # Ils y a plusieurs méthodes de déploiements, nous utilisons la méthode de copy

set :model_manager, "doctrine" # ORM

role :web, domain
role :app, domain, :primary => true

# Nous utilisons sudo pour régler les permissions via la methode :chown
# préférez l’utilisation des ACLs si c’est disponible sur votre serveur

set :use_sudo, true
set :keep_releases, 2 # Le nombre de releases à garder après un déploiement réussi
after "deploy:update", "deploy:cleanup"
## Symfony2
set :shared_files, ["app/config/parameters.yml"]
set :shared_children, [app_path + "/logs", "vendor"] # Idem, mais pour les dossiers
set :use_composer, true
set :update_vendors, false # Il est conseillé de laisser a false et de ne pas faire de ‘composer update’ directement sur la prod
#set :composer_options, "--verbose --prefer-dist" # Permet de spécifier des paramètres supplémentaires à composer, inutile dans notre cas
#set :copy_vendors, true #Shares vendors between deployments
set :writable_dirs, ["app/cache", "app/logs", "web/uploads", "web/media"] # Application des droits nécessaires en écriture sur les dossiers
set :webserver_user, "www-data" # L’utilisateur de votre serveur web (Apache, nginx, etc.)
set :permission_method, :chown # Dans le cas où vous n’avez pas les ACLs, ne pas oublier de mettre :use_sudo à true
set :use_set_permissions, true
set :dump_assetic_assets, true # dumper les assets

#default_run_options[:pty] = true # Si vous avez cette erreur : no tty present and no askpass program specified, alors décommentez
#ssh_options[:forward_agent] = true # Idem que ci-dessus

# Permet d’avoir le détail des logs de capistrano, plus facile à débugger si vous rencontrer des erreurs
logger.level = Logger::MAX_LEVEL

set :parameters_dir, "app/config/parameters"set :parameters_file, false

task :upload_parameters do
desc 'Upload stage parameters'

capifony_pretty_print '--> Uploading stage parameters'

origin_file = "app/config/parameters/parameters_#{fetch(:stage)}.yml"destination_file = deploy_to + '/' + shared_dir + '/app/config/parameters.yml'

run "sh -c 'if [ ! -d #{File.dirname(destination_file)} ] ; then mkdir -p #{File.dirname(destination_file)}; fi'"top.upload(origin_file, destination_file)

capifony_puts_ok
end

before 'deploy:share_childs', 'upload_parameters'

# Et enfin, si jamais vous rencontrez des erreurs de permissions, vous pouvez rajouter ces lignes suivantes :
after "deploy:finalize_update" do
run "sudo chmod -Rf 777 #{latest_release}/app/cache"run "sudo chmod -Rf 777 #{latest_release}/app/logs"run "sudo chmod -Rf 777 #{latest_release}/web/uploads"run "sudo chmod -Rf 777 #{latest_release}/web/media"end

При запуске обновления я получил бы следующую трассировку:

  • выполнение sudo -p пароля sudo: sh -c cd /home/foodmeup.net/development/releases/201
    50309001256 && Сборка приложения / консоли php: dump —env = prod —no-debug ‘»** Сброс всех ресурсов prod. ** Режим отладки выключен.

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector