[golang]Dockerでfiber API環境を構築しよう3! ~Live Reloading~

こんにちは、KOUKIです。

前回は、Docker環境上にMySQLコンテナを追加し、マイグレーション機能を実装しました。

Docker環境を用いれば、簡単にDBなどを用意することができるので、大変便利です。

しかし、Go言語はコンパイル型の言語なので、ソースコードの変更を反映するには、いちいちdocker コンテナを立ち上げ直さなければならないため、不便な面もあります。

本記事では、その不便さを「cosmtrek/air」というGoのツールを使って改善したいと思います。

これを使うと、Goファイルを保存するだけで、勝手にコンパイルしてくれるようになるので、コンテナを立ち上げ直す必要がなくなります。

尚、Udemyの「React, NextJS and Golang: A Rapid Guide – Advanced」コースを参考にしています。解釈は私が勝手に付けているので、本物をみたい場合は受講をお勧めします!

前回

Dockerfile

cosmtrek/airをDocker上にインストールします。そのため、Dockerfileを編集しましょう。

GitHubのREADME.mdによるとLive Reloadingするためには、airコマンドを実行する必要があるようなので、CMDに「air」を指定しました。

build

Dockerfileの修正を反映させるために、ビルドします。

このコマンドは、Dockerfileをビルド後、コンテナも立ち上げてくれるので、Live Reloadingの動作も確認してみましょう。

main.goファイルを以下のように修正します。

ファイルを保存すると勝手にコンパイルが走るので、コンテナを立ち上げ直さずに変更内容が反映されるはずです。

成功ですね。

ちなみに、今回は、Macで動作確認しましたが、Windowsでも動くようです。PRに検証結果がありました。

次回

次回は、Admin APIの実装に着手します。ユーザーの登録とログイン処理を実装していきましょう。

Go言語まとめ

コメントを残す