🔐

Makefileから.envの中身を参照する

2023/11/30に公開

はじめに

この記事は、Makefileから.envの中身を参照する方法を個人的な備忘録としてまとめたものです。
Makefileや.envその他のアップデートおよび仕様変更によって将来的にこの手順が使用できなくなる可能性があります。(記.2023/11/30)

方法

Makefileにはincludeというものがあるので、それを使う。厳密には環境変数と.envの変数とMake変数は異なるものだが、Makefileから.envの中身を参照するだけであればこれで良い。

.env
ENV=hogehoge
Makefile
inlude .env

env:
  echo $(ENV)
$ make env
echo hogehoge
hogehoge

例えば、Azure Container RegistryへDockerイメージをpushする場合はこのように書くことができる。

Makefile
include .env

push:
  docker build -t app .
  docker login $(ACR_HOST) -u $(ACR_USER) -p $(ACR_PASSWORD)
  docker tag app $(ACR_HOST)/app:latest
  docker push $(ACR_HOST)/app:latest

便利。

Discussion