rakeとは
rakeはmakeやantのruby版. 典型的な例は,
task :default do
system 'rake -T'
exit
end
desc 'hello NAME'
task :hello do
name = ARGV[1]
puts "Hello #{name}!"
exit
end
これをRakefileに書いて
> rake
とすると
rake hello # hello NAME
Rakefileが用意しているtask(仕事)が表示される.これはdefaultでrake -Tというtaskの一覧を表示するコマンドを実行するようにしているから.
Rakefileの中身を詳しく見ていくと
- descの後にはrake -Tとした時の説明文(description)
- :defaultはrakeが引数なしで呼ばれた時の動作,
- それ以外はoptionで呼ばれるtaskの名前
- taskの中には標準のruby言語で,動作を記述
となっている.':'で始まる変数はsymbolと呼ばれるクラスで,名前の代わりをしてくれるらしい.
system call
rakeを使ってgit pushの一連の流れをやってみる
desc 'git push'
task :push do
p comm = "git add -A"
system comm
p comm = "git commit -m \'hoge\'"
system comm
p comm = "git pull origin main"
system comm
p comm = "git push origin main"
system comm
exit
end
これで一連の流れ全てをgit pushだけで行ってくれるようになる.ただcommitのコメントが全部hogeになるので実際に使うならもう少し書き直す必要がある.
- source ~/grad_members_20f/members/yoshida/c04_rake.org