RubyのRakeとは?ビルドやタスクを自動化する便利ツールを解説!
RubyのRake(レイク)は、タスクの自動化を行うためのビルドツールです。
「Ruby版の make」とも呼ばれ、コマンドの自動実行、ファイル生成、テストの実行などに活用されます。
Rakeの特徴
- Rubyでタスクを記述できる
- Rakefileでタスクを管理
- コマンドラインから簡単に実行可能
Rakeのインストール
多くのRuby環境には最初から入っていますが、必要であれば以下のコマンドでインストールします:
gem install rake
Rakefileの作成
Rakeを使うには、まず Rakefile というファイルをプロジェクトのルートに作成します。
# Rakefile
task :hello do
puts "こんにちは、Rakeタスクです!"
end
タスクの実行
rake hello
このコマンドを実行すると、:hello
というタスクが呼び出されて、puts
の内容が表示されます。
デフォルトタスクの定義
task :default => :hello
:default
を定義しておくと、rake
だけで特定のタスクを実行できます。
タスクに依存関係を設定
task :prepare do
puts "準備中..."
end
task :run => :prepare do
puts "実行中..."
end
このように 依存タスク(:prepare)を先に実行してから :run を実行することができます。
引数付きのタスク
task :greet, [:name] do |t, args|
puts "こんにちは、#{args[:name]}さん!"
end
# 実行:rake greet[さくら]
[:name]
のように定義することで、コマンドラインから引数を渡すこともできます。
Rakeの主な活用例
- テストの自動実行
- ファイルの生成・変換
- 環境構築スクリプトの自動化
- DBマイグレーション(Railsでも使用)
タスクの一覧を表示
rake -T
定義されているタスクの説明一覧を表示できます。
各タスクには以下のように desc
をつけるのがおすすめです:
desc "挨拶を表示するタスク"
task :hello do
puts "こんにちは!"
end
まとめ
RubyのRakeは、タスクをRubyコードで記述し、自動化できる便利なツールです。
シンプルなコマンド実行から、複雑な依存関係を持つビルド処理まで幅広く対応できます。
まずは Rakefile
に1つのタスクを書いて、rake タスク名
で実行してみましょう。
複数の処理をまとめて管理できる強力な味方になります!