我想我做了一个简单但可能是非常有用的东西,并创建一个名为现场另一个符号链接,它指向一个任意的发布,并在头离开当前的地方通常是:
20120519235508
20120521004833
20120521024312 <-- live
20120521025150
20120521030449 <-- current
然后我配置www.mysite.com打
live/public
和stage.mysite.com打
current/public
不幸的是这两个主机似乎运行相同的应用程序,而不是2个不同的应用程序。 我已经证实了httpd.conf具有正确的设置,并重新启动它。 但是没有任何变化,他们都仍然在运行相同的应用程序,通过电流/公共引用的应用程序要准确。
我不知道如果我有一个设置错了,或者别的东西需要重新启动,或者如果这是我想象根本无法正常工作。 我使用的是乘客。
有人可以揭示出这个问题的一些光,因为这个配置是非常有用的,我的很多项目。
而不是创建在版本目录中的其他符号链接的话,建议使用多级扩展。 有了这个扩展可以定义不同的阶段,并添加自定义配置给他们。 因此,而不是使用一个部署目录两种分期和生产,使用相互独立的。
添加这些行deploy.rb:
require "capistrano/ext/multistage"
set :stages, ["staging", "production"]
set :default_stage, "staging"
从deploy.rb取出deploy_to变量。 然后创建内部配置一个deploy目录具有与艺名文件。 在这种情况下:部署/ staging.rb和部署/ production.rb。 staging.rb的内容:
set :rails_env, "staging"
set :deploy_to, "staging/capistrano"
同样地,对于production.rb:
set :rails_env, "production"
set :deploy_to, "production/capistrano"
当然,改变deploy_to的路径。 然后点staging.example.com以staging/capistrano/current/public
和www.example.com到production/capistrano/current/public
。
要做到分段部署,执行cap staging deploy
或简单cap deploy
(记住,分期设置deploy.rb默认)和cap production deploy
到部署到生产环境。