Our Story Log Blog

Cloud Run + Cloud Build + Docker + Nextjsで環境変数を使う時の注意点

Cloud Run + Docker + Nextjsで環境変数を使う時の注意点をまとめます。

Cloud Runで設定できる環境変数は、コンテナ起動時に呼ばれるもの

ここで設定する環境変数は、コンテナ起動時に呼ばれるものなので、Nextjsでサーバーサイドのプログラムをビルドした時にはCloud Runで設定したものは使われません。

CloudRun

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ファイルをそのまま使いたい場合は良いのですが、そうでない場合は除外しましょう。

Tags: