利用rake來執(zhí)行任務,實現(xiàn)自動化還是很有趣的
1三痰、首先安裝ruby讼育,配置好環(huán)境就可以了
2、創(chuàng)建文件rakefile文件
Rake會在當前路徑下尋找名叫Rakefile啥供、rakefile、RakeFile.rb和rakefile.rb的ruby文件
3库糠、實現(xiàn)demo
namespace :home do #為三個任務定義一個叫做home的命名空間伙狐,避免和其他的命名沖突,此時調用就必須用rake home:task2
desc "任務1 -- 刷牙"
task :task1 do
puts "開始刷牙吧"
end
desc "任務2 -- 吃飯"
task :task2 => :task1 do #任務2依賴于任務1瞬欧,執(zhí)行2時會先執(zhí)行1贷屎,依賴多個任務可以用這種格式 task :task_name => [:depends_on_taskA, :depends_on_taskB] do
puts "吃飯了"
end
desc "任務3 -- 洗臉"
task :task3 do
puts "洗把臉吧"
end
end
#在一個任務中調用另外一個任務,rake today,不加命名空間就直接調用了
desc "起床任務"
task :today do
Rake::Task["home:task2"].invoke
Rake::Task["home:task3"].invoke
end
#利用環(huán)境變量艘虎,可以傳一個叫title的值
desc "傳值測試"
task :testArg do
puts "something test"
puts ENV["title"]
end
#傳兩個值唉侄,格式為rake bash2[aaa,bbb],輸出結果 {:a=>"aaa", :b=>"bbb"}
desc "passing 2 parameters to rake task"
task :bash2, [:a, :b] do |t,args|
args.with_defaults(:a => 'ccc', :b => 1) #設置默認值
puts args.inspect
end
#傳參方式野建,rake bash3[22] 這里會輸出傳的參數(shù) 22
desc "再來測試一下"
task :bash3, :par1 do |t, args|
puts args[:par1]
end
#設置默認的task属划,執(zhí)行rake是會執(zhí)行today的任務
task :default => [:today]
簡單的記錄。候生。同眯。。唯鸭。