デフォルトでは、Laravel gitは環境設定と構成を含む.envファイルを無視します。Laravel環境変数5.3 setup
ローカルの.envとプロダクション.envを使用して私のサーバーにコミットできます。プロダクション設定を手動で作成する必要はなく、.env
ファイルを手作業で入力する必要はなく、プッシュを使用できます技術を展開する。
誰でもこれに適した解決策がありますか?開発者が常にプロダクション設定を1つのファイルに手動で作成し、プロダクションとローカルの設定を簡単に切り替えることができないようにすることは設計上の奇妙な選択です。私はgitフックを使用して.envに.productionの名前を変更することを検討していましたが、これは過剰なもののようですが、この機能が利用できないことをチェックしたいと思います。
なぜ3つのファイル.local.env
,.production.env
と.env
(2つのファイルを切り替える)ファイルが悪い考えであり、元のチームが回避した理由を説明するためのボーナスポイント。
最新バージョンのLaravel(5.3)を使用しています。
これはすべて意味があります。 .envには機密データがありますが、ソース管理は公開ではなく非公開です。あなたが指摘したように、これは元のデザインで潜在的なセキュリティー障害の追加ポイントと考えられます。 – Paul
@Paulまた、これはユースケースによって異なります。ソースコントロールがプライベートであるか、パブリックになっている可能性があります。アプリケーションがいつかオープンソースになるかもしれません。おそらく、プロジェクトで作業するためにフリーランサーを雇ったがっているでしょう...コードから設定(特にパスワードとAPIキー)を分離すると、そのような場合にもっとコントロールできます。 – tmh
@Paulコードで作業する非常に少数の開発者チームがいて、プロダクションシステムの資格情報で誰もが信頼されている場合は、VCSに '.production.env'を置くことができます。将来的に事態が変わる場合は、機密データをVCSから再度取得するために、特別な注意を払う必要があります(https://help.github.com/articles/remove-sensitive-data/)。 – tmh