lib/cumuli/tasks/cumuli.rake
require_relative "../../cumuli"
namespace :cumuli do
namespace :project do
desc "install submodules and run setup scripts based on the project.yml"
task :setup do
Cumuli::ProjectManager::Manager.new.setup
end
desc "copy database config and rerun setup scripts"
task :config do
Cumuli::ProjectManager::Manager.new.setup_projects
end
desc "publish Procfile from projects.yml"
task :publish do
Cumuli::ProjectManager::Manager.new.publish
end
end
namespace :ps do
namespace :kill do
desc "kill all foreman related processes"
task :all do
ps = Cumuli::PS.new
ps.kill(ps.foremans.map(&:pid))
end
desc "kill the first spawned foreman process"
task :root do
ps = Cumuli::PS.new
ps.kill
end
end
desc "kill the root process"
task :kill => ['cumuli:ps:kill:root']
namespace :int do
desc "interrupt all foreman related processes"
task :all do
ps = Cumuli::PS.new
ps.int(ps.foremans.map(&:pid))
end
desc "kill the first spawned foreman process"
task :root do
ps = Cumuli::PS.new
ps.int
end
end
desc "interrupt the root process"
task :int => ['cumuli:ps:int:root']
end
desc "look at the list of foreman related processes"
task :ps do
puts Cumuli::PS.new.report_all
end
desc "run a remote command with the right ruby: rake cumuli:remote ../my_app rake db:migrate"
task :remote do |command|
Cumuli::CLI::RemoteRakeCommand.new(ARGV).perform
end
end