Makefile
# デフォルトのターゲット
.PHONY: all
all: create-env-file
# 環境変数を.envファイルにエクスポート
.PHONY: create-env-file
create-env-file:
@echo "Creating .env file from current environment variables..."
@printenv | grep -v '^_' | sed 's/=.*//g' | sed 's/^/export /' > .env.temp
@while read line; do \
var_name=$$(echo $$line | cut -d' ' -f2); \
var_value=$$(printenv $$var_name); \
echo "$$var_name=$$var_value" >> .env; \
done < .env.temp
@rm .env.temp
@echo "Created .env file with $(shell wc -l < .env) environment variables."
# .envファイルの内容を表示(セキュリティ上重要な情報は表示しないよう注意)
.PHONY: show-env-file
show-env-file:
@echo "Contents of .env file (excluding sensitive information):"
@grep -vE 'KEY|TOKEN|PASSWORD|SECRET' .env || true
# .envファイルを削除
.PHONY: clean
clean:
@echo "Removing .env file..."
@rm -f .env
@echo ".env file removed."
# ヘルプメッセージを表示
.PHONY: help
help:
@echo "Available targets:"
@echo " create-env-file : Create .env file from current environment variables"
@echo " show-env-file : Show contents of .env file (excluding sensitive information)"
@echo " clean : Remove .env file"
@echo " help : Show this help message"
説明
このMakefileは、環境変数の管理を支援するためのツールです。主な機能は以下の通りです:
- 現在の環境変数から.envファイルを作成
- 作成された.envファイルの内容を確認(機密情報を除く)
- .envファイルの削除
- 使用可能なコマンドの一覧表示
使用可能なコマンド
現在の環境変数から.envファイルを作成
make create-env-file
このコマンドは、現在のシェルセッションの環境変数を取得し、.envファイルに保存します。これにより、プロジェクトの環境設定を簡単に再現できます。
作成された.envファイルの内容を確認する(機密情報を除く)
make show-env-file
このコマンドは、.envファイルの内容を表示します。ただし、セキュリティ上重要な情報(キー、トークン、パスワード、シークレットなど)は表示されません。
.envファイルを削除
make clean
このコマンドは、作成された.envファイルを安全に削除します。
ヘルプメッセージを表示
make help
このコマンドは、利用可能なすべてのmakeターゲットとその簡単な説明を表示します。
注意事項
- このMakefileを使用する際は、セキュリティに注意してください。.envファイルには機密情報が含まれる可能性があるため、適切に管理してください。
-
show-env-file
コマンドは機密情報を表示しないよう設計されていますが、完全な保証はありません。表示される情報には注意してください。 - .envファイルをバージョン管理システム(Git等)にコミットしないよう注意してください。