由于缺乏文档,我使用了阅读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中运行默认任务?
答案 0 :(得分:1)
在命名空间外创建一个任务,并将该任务命名为与命名空间相同的任务。定义此任务取决于名称空间中的:default任务
namespace :status do
task :default do
puts "Hello Default-Task!"
end
end
task :status => "status:default"
当你在Capistrano 3中使用Rake时,你可以使用那个Rake技巧。