使用symfony2 + capifony转储dev dev和prod资产

时间:2015-03-09 00:38:12

标签: php symfony capistrano assets capifony

当我运行我的cap开发部署时,只会转储prod资产,而不是dev资源(即,当我使用app_dev.php控制器时,css和js) - 除非我手动转储资产,否则它们都是空的。

有没有办法让capifony转储生产和开发资产? (app.php

可以使用css和js

我的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 app / console assetic:dump --env = prod --no-debug'“   **倾倒所有产品资产。 **调试模式已关闭。
  •   

0 个答案:

没有答案