Почему Capistrano не проверяет последнюю версию моего кода из SVN? - PullRequest
1 голос
/ 04 октября 2009

Я использую Capistrano и Rails 2.3.4. Я уже сделал развертывание: холодный на удаленный сервер. Теперь на своем локальном ящике я изменил файл макета и зафиксировал его в хранилище (в качестве среды IDE я использую Netbeans 6). Я набираю cap deploy, и Capistrano запускает свои команды и сообщает мне, что он извлек и развернул самую последнюю версию моего кода. Однако на сервере изменений нет, и когда я посмотрел файл макета, он использовал старую версию, а не ту, которую я только что зафиксировал и предположительно развернул.

Кто-нибудь испытал это?

РЕДАКТИРОВАТЬ: странная вещь заключается в том, что я изменил некоторые файлы изображений, и те были обновлены на сервере, но измененный макет HTML не был. Может ли это быть проблемой с печеньем?

EDIT2: я проверил сам репозиторий (я использую ProjectLocker) и достаточно уверен, что код там, изменен. Проблема только в том, что Capistrano НЕ проверяет это, хотя и говорит, что это так, и не сообщает об ошибках.

Вот мой файл deploy.rb (очищенный, конечно):

# Application
set :application, "myapp"
set :deploy_to, "/var/www/html/#{application}"

# Settings
default_run_options[:pty] = true
set :use_sudo, true

# Servers
set :user, "deploy"
set :domain, "111.111.111.111"
set :runner, "deploy"
server domain, :app, :web
role :db, domain, :primary => true

# SVN
set :repository, "http://myhosting.com/svn/myapp/trunk"
set :scm_username, "wayne@mysite.com"
set :scm_password, "secret"
set :checkout, "export"

# Passenger
namespace :passenger do
  desc "Restart Application"
  task :restart do
    run "touch #{current_path}/tmp/restart.txt"
  end
end

after :deploy, "passenger:restart"

Кажется, иногда это работает. Например, я сделал некоторые изменения в коде ранее, и он отлично это проверил. У меня была проблема с этим, не проверяя мой файл database.yml либо; Я был вынужден отредактировать его на сервере.

1 Ответ

3 голосов
/ 05 октября 2009

Просто выстрел в темноте, но вы действительно смотрели файл макета или вы зашли на сайт, а затем посмотрели на источник веб-страницы?

Если вы работаете, макет будет кэширован (config.action_controller.perform_caching = true), вам необходимо перезагрузить сервер. Это не происходит в режиме разработки по умолчанию, поскольку для вышеуказанного параметра установлено значение false.

Подробнее см. .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...