質問: 状況 -- Laravel8とFirebase Authenticationを用いてWebアプリケーションを作成しました。 以下のサイト様を参考に、`resources/keys/`配下にFirebaseからダウンロードしたjsonファイルを設置し、アプリケーション側で利用しています。 Laravel6.0 の認証を Firebase のTwitter Oauth認証で行ったメモ **.env** ``` FIREBASE_CREDENTIALS=secret.json ``` **config/firebase.php** ``` [ 'file' => base_path(env('FIREBASE_CREDENTIALS')), 'auto_discovery' => true, ], ]; ``` 問題 -- Dockerの開発環境と本番環境でのFirebaseの認証用jsonをどう管理すればよいかがわかりません。 githubを利用しているのですが、流石にここにcommit&pushしてしまうのはどうかと思いますし、仮にpushしてしまうと本番とDockerの認証用jsonが一緒になってしまいます。 環境ごとに認証用jsonを切り分けてかつ、管理する方法はありますでしょうか? ご教示いただけますと幸いです。 よろしくお願いいたします。
回答: 認証情報等を含む GitHub に push すべきではないファイルは、`.gitignore` ファイルを使って無視リストに登録しておくことをお勧めします。 ファイルを無視する - GitHub Docs また、環境毎に設定を切り替えて管理する方法としては、`.env.production` や `.env.development` のように個別のファイルに分けて記述する方法があるようです。 (こちらは Ruby での例なのでそのまま当てはまるかは分かりませんが、"dotenv" としての基本的な考え方は応用できそうです) What other .env* files can I use? | Ruby dotenv 以下は少し古いかもしれませんが、Laravel で日本語での解説例になります。 [Laravel 5.5] 読み込む.envファイルを環境ごとに切り替える