Symfony2 + Capifony - дамп ресурсов на локальном компьютере

У меня проблема с assetic:dump. Я использую комбинацию файлов css/less и файлов js/coffeescript. Мне нужно запустить assetic:dump, чем до выполнения cap deploy, потому что на целевом сервере не установлены node js и coffeescript. Если я использую set :dump_assetic_assets, true в своем файле deploy.rb, капифония запускает assets:dump после развертывания на целевом сервере. Выдает ошибку при компиляции coffeescript.

Я не знаю, как решить эту проблему. Я думаю, что выбор Symfony 2 для моего проекта был ошибкой. Все развиваются какие-то проблемы. Я думал, что развертывание — это базовая вещь, но в Symfony 2 это большая проблема.

ОБНОВЛЕНИЕ №1

set :application, "project"
set :domain,      "10.0.0.61"
set :deploy_to,   "/var/www/html/project"
set :app_path,    "app"
set :user,        "kunesd"

#ssh_options[:forward_agent] = true
#ssh_options[:port] = "22"
set :branch, "master"

# set :symfony_env_prod, "dev"

set   :scm,           :git
set   :repository,    "d:\\Prace\\Project\\web\\os-project\\"
set   :deploy_via,    :copy
# Or: `accurev`, `bzr`, `cvs`, `darcs`, `subversion`, `mercurial`, `perforce`, or `none`

set :model_manager, "doctrine"
# Or: `propel`

role :web,        domain                         # Your HTTP server, Apache/etc
role :app,        domain, :primary => true       # This may be the same as your `Web` server

# Composer settings
# set :use_composer, true
#set :use_composer_tmp, true
# set :update_vendors, false
#set :vendors_mode, "install"

# General settings
#set :shared_files,    ["app/config/parameters.yml"]
#set :shared_children, [app_path + "/logs", web_path + "/uploads"]
set :keep_releases,  3
set :use_sudo, false
#set :writable_dirs,     [app_path + "/logs", app_path + "/cache", web_path + "/uploads"]
#set :webserver_user,    "www-data"
#set :permission_method, :acl
#set :use_set_permissions, true

# Be more verbose by uncommenting the following line
 logger.level = Logger::TRACE

Спасибо за ваши ответы.


person positive    schedule 20.01.2015    source источник


Ответы (1)


Я думаю, у вас есть два варианта:

  1. Создайте пользовательскую задачу для капифонии, которая будет выполняться до команды развертывания.
  2. Создайте локальный скрипт, который сначала запустит задачу для дампа активов, а затем запустит стандартную команду capifony.
person Pawel    schedule 21.01.2015
comment
Привет спасибо. Не могли бы вы показать пример 2. вариант мне, пожалуйста? Мне нужно создать скрипт с php app/console assetic:dump или php app/console assetic:dump --env=prod? И тогда я должен запустить cap deploy ? - person positive; 21.01.2015
comment
У меня нет примера, потому что я минимизирую данные на сервере (во время развертывания). Во-вторых, какую стратегию вы используете для capifony (полная копия, git ..)? - person Pawel; 21.01.2015
comment
Посмотрите на мой # 1 ОБНОВЛЕНИЕ. Он показывает все настройки. Я использую локальный репозиторий, а затем копирую проект на сервер. - person positive; 21.01.2015