Railsで使っているrakeについて
2018/10/023 分で読める記事 — In プログラム

はじめに


こんにちは、みなさん。
最近雨が多いので、長靴の購入を本気で検討しているファッションリーダーのギノキンです。

本日はモヤモヤしながらよく使っている

$ rake db:migrate

この rakeコマンド について何者なのか調べて見ました。


結論


先に結論から言うと、、、

"一連のタスクを渡すことで、設定ファイルに記載されている作業通り、上から順に実行してくれるもの。"


rakeについて


調べてみると、

Rakeは、Rubyで記述されたbuildツール」とのこと。

まず、ここでbuildツールが分からない方のために

buildツールとは


アプリケーションソフトを作る際に使う特殊なソフトウェアを指します。
現在アプリケーションソフトは開発者がソースコードを記述して、それをコンパイル(コンピューターの分かる形に変換)して作られています。

さらに今だとアプリケーションソフトが複雑化しているため、複数のソースコードを組み合わせてコンパイルしたり、一度コンパイルしたものを統合したりすることも多いです。
その上それを正しい手順で実行する必要があります。またこの手順を開発では何度も行う必要があります。

同じことは何度も繰り返したく無い!!
手順などを指定して自動化する専用のソフトウェアがほしい。。。

そこで誕生したのが、"ビルドツール"です!!

アプリを構築する上で、必要な手順を自動化する専用のソフトウェアを"ビルドツール"といいます。

rakeの特徴


  • Rubyで記述ができる
  • 言語内DSLを採用
  • Rakefileというファイルに一連の処理を定義する (この処理のまとまりを「タスク」と呼ぶ)

※DSL...Domain-Specific Language
特定の領域で特化して設計された言語
(例)Rake, RSpec, SQLとか

Rakeはrakeコマンドに引数として、実行したいタスクを渡すことでタスクを実行してくれます。

$ rake 実行タスク名

なので下記のコマンドを実行することで、いつもrakeが手順通りにmigrateしてくれていたわけです。

$ rake db:migrate


最後に結論


rakeとは

"一連のタスクを手順通りに実行してくれるもの"


おわりに


読みづらさや間違った点等とうありましたら、ご教示いただけますと幸いです。
誰かの糧になれたらうれしいです!