如何在Capistrano 3中运行默认任务?

时间:2014-04-27 01:22:26

标签: capistrano capistrano3

由于缺乏文档,我使用了阅读Capistrano 2 hanbook并且遇到了默认'任务。

示例:

namespace :backup do

  task :default do
    web
    db
  end

  task :web, :roles => :web do
    puts "Backing Up Web Server"
  end

  task :db, :roles => :db do
    puts "Backing Up DB Server"
  end

end

我的想法是,如果我运行cap backup,它应该执行默认任务......它似乎无法正常工作。

我的代码经过修改以适应上述情况:

namespace :status do

task :default do
        webserver
        db
end


desc "Check status of nginx on web server"
    task :webserver do
        on roles(:web) do |host|
            execute 'hostname'
            execute 'service nginx status'
        end
    end


desc "Check status of DB"
 task :database do
     on roles(:db) do |host|
        execute 'hostname'
        execute 'service postgresql status'
     end
 end


end

如何在Capistrano 3中运行默认任务?

1 个答案:

答案 0 :(得分:1)

在命名空间外创建一个任务,并将该任务命名为与命名空间相同的任务。定义此任务取决于名称空间中的:default任务

namespace :status do
  task :default do
    puts "Hello Default-Task!"
  end

end 

task :status => "status:default"

当你在Capistrano 3中使用Rake时,你可以使用那个Rake技巧。