1
由于缺乏文件,我诉诸阅读Capistrano 2 hanbook,并遇到“默认”任务。如何在Capistrano 3中运行默认任务?
例子:
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
应该执行似乎task..which不工作的默认。
我的代码修改,以适应上述:
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个默认的任务?
我跟着你的代码,但我得到以下错误:'NameError:未定义的局部变量或方法'网络服务器'为主:对象' – kaizenCoder
嗨,我没有复制所有的代码,所以没有任何名为“网络服务器”定义的任务。你必须这样做。或者最适合测试目的。只需将“webserver”和“db”的调用替换为“puts'hello world'”即可 – robkuz