可以在capistrano命令行上指定特定服务器吗?

时间:2010-01-16 08:54:48

标签: ruby-on-rails capistrano

我只是试图运行

cap deploy:setup

在命令行上,但它希望它只在一个特定服务器上运行而不是全部运行。有没有办法在一个服务器上从命令行运行任务,或者我是否必须在deploy.rb文件中以这种方式定义它?

1 个答案:

答案 0 :(得分:1)

您使用的是capistrano-multistage吗?如果不是我建议你这样做,我相信你可以通过deploy.rb实现同样的目的,但我个人觉得这样更容易,这使得这个过程更加整洁,特别是如果你开始在生产,舞台或其他方面做不同的事情阶段。

基本上,一旦你在本地安装了gem,就可以运行如下命令:

cap staging deploy:setup 

'staging'部分与您的某个舞台文件匹配(见下文)。

要启动并运行更改deploy.rb,请执行以下操作:

set :stages, %w(staging production)
set :default_stage, "staging"
require 'capistrano/ext/multistage'
after "deploy", "deploy:cleanup"

然后将名为deploy的文件夹添加到rails应用的config目录中。在那里,您可以放置​​单独的部署文件,例如staging.rbproduction.rb