我只是试图运行
cap deploy:setup
在命令行上,但它希望它只在一个特定服务器上运行而不是全部运行。有没有办法在一个服务器上从命令行运行任务,或者我是否必须在deploy.rb文件中以这种方式定义它?
答案 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.rb
和production.rb
。