はじめに
今回は、Makefile
について教えていただいた内容を実際に手を動かして試してみた結果を、備忘録としてまとめています。
内容自体はなんとなく理解していたつもりでしたが、実際に試してみることでより深く学ぶことができると考えました。
さらに、「こんなことができるんだ!」と自分でも感動した部分があったため、振り返りを兼ねて記事にしてみました。
※ほとんどが自分用の記録ですが、あらかじめご了承ください。
書こうと思ったきっかけ
これは私自身の実体験ではありませんが、チーム開発の際に、GitHub上のリポジトリにREADMEを追加する話を伺ったことがきっかけです。
その際、「内容が少し複雑で、全員がすぐに理解できるとは限らない」という指摘があったそうです。
そのような背景から、もっと分かりやすく実行できる仕組みを作るため、Makefile
を活用して簡単にコマンドを実行できるようにする方法を試してみることにしました。
Makefile とは?
Makefile は、プログラムのビルドや管理作業を自動化するための設定ファイルです。
特に、複雑なコマンドや一連の作業を簡略化して実行できるようにする役割を果たします。
主な特徴
-
タスク自動化
特定のコマンド(例: コンパイル、テスト、デプロイ)を簡略化し、効率的に実行できます。 -
簡単なコマンド実行
make <ターゲット名>
で複雑な作業を一行で実行できます。
簡単な例
以下は、Docker コンテナの起動と終了を自動化する Makefile の例です:
up:
docker-compose up
down:
docker-compose down
-
make up
を実行すると、docker-compose up
が実行されます。 -
make down
を実行すると、docker-compose down
が実行されます。
実際にやってみた
まずは、GitHub上のチームリポジトリをローカルに git clone
してきます。
今回は2つのリポジトリを対象とし、フロントエンドとバックエンドのリポジトリそれぞれを確認してみます。
フロントエンドのリポジトリ
フロントエンドリポジトリには、事前にチームメンバーが設定してくれたREADMEがあり、その手順に従って作業を進めました。
ローカル開発構築手順
Dockerコンテナを立ち上げる:
$ make up
モジュールのインストール(初回またはモジュール追加時のみ):
$ make install
開発用サーバーを起動:
$ make dev
ブラウザから確認:
http://localhost:5173
にアクセスして、正しく表示されていることを確認します。
Dockerコンテナを削除:
$ make down
上記手順に従い、MacBookのターミナルからMakefileで設定されたコマンドを実行して動作を確認しました。
バックエンドのリポジトリ
次に、バックエンドのリポジトリを同様にローカルにクローンして実行しました。
ローカル環境構築手順
Dockerコンテナを起動:
$ make up
Goの開発用サーバーを起動:
$ make dev
ブラウザから確認:
http://localhost:1323
にアクセスして、正しく表示されていることを確認します。
Dockerコンテナを削除:
$ make down
フロントエンドと同様に、MacBookのターミナルからコマンドを実行し、ローカル環境で正常に動作することを確認しました。
まとめ
ここまでお読みいただきありがとうございました。
今回、Makefile を活用して簡略化された作業手順を試し、「こんな便利な方法があるのか」と感動しました。
これをきっかけに、スムーズにMakefileや関連ファイルを記述できるよう、今後も学びを続けていきたいと思います。