Cloud Run + Cloud Build + Docker + Nextjsで環境変数を使う時の注意点
Cloud Run + Docker + Nextjsで環境変数を使う時の注意点をまとめます。
Cloud Runで設定できる環境変数は、コンテナ起動時に呼ばれるもの
ここで設定する環境変数は、コンテナ起動時に呼ばれるものなので、Nextjsでサーバーサイドのプログラムをビルドした時にはCloud Runで設定したものは使われません。
Nextjsでビルドした後のprocess.envの値の出力のされかた
nextjsで使うprocess.env
はサーバーサイドのプログラムの場合、ビルド時にenvの値がビルド後のプログラムに出力されます。
このようにenvファイルとnextjsを記述した場合、
HOGE=hoge
console.log(process.env.HOGE)
ビルドを実行すると下記のように出力されます。
console.log('hoge')
.envファイルは、dockerignoreで排除する
.dockerignoreでenvファイルを除外しないと、環境変数がenvファイルを参照してしまう場合があります。
envファイルをそのまま使いたい場合は良いのですが、そうでない場合は除外しましょう。