Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby 是否有方法设置:except=>;默认情况下,所有Capistrano任务的{:no_release=>;true}?_Ruby_Capistrano - Fatal编程技术网

Ruby 是否有方法设置:except=>;默认情况下,所有Capistrano任务的{:no_release=>;true}?

Ruby 是否有方法设置:except=>;默认情况下,所有Capistrano任务的{:no_release=>;true}?,ruby,capistrano,Ruby,Capistrano,我有一个应用服务器和另一个上的elasticsearch 我设置了一个搜索角色,如下所示: role :search, 'search.server.com', :no_release => true 我有三个不同的阶段-生产,阶段,实验 我希望所有命令都在应用服务器上运行,elasticsearch服务器上除外 似乎我必须在所有任务上添加:except=>{:no\u release=>true}才能获得此功能 有其他选择吗?您可以设置多个角色,并在需要的角色上指定no_版本。 只能为

我有一个应用服务器和另一个上的elasticsearch

我设置了一个搜索角色,如下所示:

role :search, 'search.server.com', :no_release => true
我有三个不同的阶段-生产,阶段,实验

我希望所有命令都在应用服务器上运行,elasticsearch服务器上除外

似乎我必须在所有任务上添加
:except=>{:no\u release=>true}
才能获得此功能


有其他选择吗?

您可以设置多个角色,并在需要的角色上指定no_版本。 只能为指定的角色运行任务,例如:

role :search, "ex.com", :no_release => true
role :app, "ex.com"

task :run_for_both, :roles => [:app, :search] do
  run "echo 'my command'"
end

task :run_on_app, :roles => :app, :search do
  run "echo 'my command on app role'"
end