rake basic学习

2021-02-23  本文已影响0人  KN郑某某

利用rake来执行任务,实现自动化还是很有趣的

1、首先安装ruby,配置好环境就可以了

2、创建文件rakefile文件

Rake会在当前路径下寻找名叫Rakefile、rakefile、RakeFile.rb和rakefile.rb的ruby文件

3、实现demo


    namespace :home do      #为三个任务定义一个叫做home的命名空间,避免和其他的命名冲突,此时调用就必须用rake home:task2

    desc "任务1 -- 刷牙"
    task :task1 do
    puts "开始刷牙吧"
    end

    desc "任务2 -- 吃饭"
    task :task2 => :task1 do        #任务2依赖于任务1,执行2时会先执行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

    #利用环境变量,可以传一个叫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] 这里会输出传的参数 22
    desc "再来测试一下"
    task :bash3, :par1 do |t, args|
        puts args[:par1]
    end

    #设置默认的task,执行rake是会执行today的任务
    task :default => [:today]

简单的记录。。。。。

上一篇 下一篇

猜你喜欢

热点阅读