doujiang2020 2015-03-09 00:38
浏览 62

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

When I run my cap development deployment, only prod assets are dumped, not dev assets (i.e., when I use the app_dev.php controller, css and js) - they are empty unless I manually dump assets.

Is there a way to make capifony dump both production and developement assets? (css and js are ok with app.php)

My 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

When running the update, I would receive the following trace:

  • executing "sudo -p 'sudo password: ' sh -c 'cd /home/foodmeup.net/development/releases/201
    50309001256 && php app/console assetic:dump --env=prod --no-debug'" ** Dumping all prod assets. ** Debug mode is off.
  • 写回答

0条回答 默认 最新

    报告相同问题?

    悬赏问题

    • ¥15 2020长安杯与连接网探
    • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么
    • ¥15 banner广告展示设置多少时间不怎么会消耗用户价值
    • ¥16 mybatis的代理对象无法通过@Autowired装填
    • ¥15 可见光定位matlab仿真
    • ¥15 arduino 四自由度机械臂
    • ¥15 wordpress 产品图片 GIF 没法显示
    • ¥15 求三国群英传pl国战时间的修改方法
    • ¥15 matlab代码代写,需写出详细代码,代价私
    • ¥15 ROS系统搭建请教(跨境电商用途)