1

我正在使用 Capistrano 和 Rails 2.3.4。我已经对远程服务器进行了部署:冷。现在在我的本地机器上,我更改了一个布局文件并将其提交到存储库(我使用 Netbeans 6 作为我的 IDE)。我键入 cap deploy ,Capistrano 运行它的命令并告诉我它已签出并部署了我的代码的最新版本。然而,在服务器上,更改不存在,当我查看布局文件时,它使用的是旧版本,而不是我刚刚提交和部署的版本。

有人经历过吗?

编辑:奇怪的是我更改了一些图像文件并且这些文件在服务器上进行了更新,但我修改的 HTML 布局没有。会不会只是 cookie 的问题?

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 文件;我被迫在服务器上编辑它。

4

1 回答 1

3

在这里只是在黑暗中拍摄,但是您实际上是查看布局文件还是访问网站然后查看网页源?

如果您在生产中,布局将被缓存(config.action_controller.perform_caching = true),您需要重新启动服务器。这在默认情况下不会在开发模式下发生,因为上述设置设置为 false。

有关更多信息,请参阅内容。

于 2009-10-04T20:19:43.577 回答