2010-06-04 3 views
3

Я пытаюсь заставить Capistrano развернуть мое веб-приложение. Я развертываю приложение php с помощью remote_cache с git repo на хост Linux через компьютер с Windows. Все развертывается хорошо, за исключением того, что он не копирует файлы .htaccess. Я новичок в Capistrano и Ruby, поэтому любые указатели были бы полезны!Как я могу заставить Capistrano включать файлы .htaccess в развертывания?

Capistrano 2.5.18 с Руби 1.8.6 на Windows,

ответ

1

удалить Htaccess сначала вручную, а затем удалить/SYMLINK каждый раз, когда вы устанавливаете

desc "remove .htaccess" 
    task :htaccess do 
    run "rm #{path}/.htaccess" 
    run "ln #{path}/.htaccess #{release_path}/public/.htaccess" 
    end 
0

Вот что сработало для меня, но я нахожусь на сайте5, поэтому содержимое вашего файла htaccess, вероятно, будет другим; Я добавил следующее в конец моего файла deploy.rb:

after "deploy:create_symlink", "MYAPPNAME:htaccess_setup" 


namespace :MYAPPNAME do 
    task :htaccess_setup, :roles => :app do 
    htaccess = "PATHTOMYPUBLICDIR/.htaccess" 
    run "if [ ! -f #{htaccess} ]; then echo 'PassengerEnabled On' > #{htaccess}; echo 'PassengerAppRoot #{current_path}' >> #{htaccess}; echo '.htaccess created'; else echo '.htaccess already exists (untouched)'; fi" 
    end 
end 
Смежные вопросы