目次
このページではrakeコマンドについて以下の順を追って説明する.
rakeの基本
rakeコマンドというものがある.これはカレントディレクトリにあるRakefileの中身を実行するコマンド.
たとえば以下のようにRakefileに書いておく.
Rakefile
task default: :hello #何も指定しなければここが動作する
desc "hello" #description 説明の部分
task :hello do #rakeの後にhelloと指定するとここが動作する
puts "Hello Rake!!"
end
rakeだけ入力し実行するとdefaultで設定されているhelloの部分が実行される.
今はhelloだけだが,タスクを増やした場合その一覧を表示するには rake -T とする.
タスクを階層化する
rakeで実行するタスクの種類を増やす場合は namespace を以下のように使用する.
Rakefile
task default: 'basic:hello'
namespace :basic do
desc "hello"
task :hello do
puts "Hello Rake!!"
end
end
namespace :one do
desc "one"
task :foo do
puts "test1"
end
namespace :two do
desc "one two"
task :hoge do
puts "test2"
end
end
end
$ rake -T
rake basic:hello # hello
rake one:foo # one
rake one:two:hoge # one two
gitを自動化
gitを共有する際,
$ git pull origin main
$ git add -A
$ git commit -m "hoge"
$ git push origin main
を実行するがいちいち打つのがめんどくさい.
そこで,rakeコマンドでこれらを実行できるようにする.
そのために system という関数を使用する.これはsystemコマンドを起動することができる関数である.
Rakefile
desc 'git pull push'
task :push do
p comm = "git pull origin main"
system comm
p comm = "git add -A"
system comm
p comm = "git commit -m #{ARGV[1]}"
system comm
p comm = "git push origin main"
system comm
exit
end
$ rake push
とコマンドに入力することでgitの一連の動作を自動で行うことができるようになった.
まとめ
今回はrakeコマンドでgitの一連の動作を自動化した.
参考
以下を参考にした.
- ruby rakeの使い方
- Rakeで自動化&Export#+begin_src ruby:check_leap_year.rb
- source ~/prog/github/grad_members_20f/members/miyanagi/post/rakefile.org