元スレ【PHP】Laravel【フレームワーク】 Part.4
php覧 / PC版 /みんなの評価 :
251 = :
>>241
いやいや.env.example以外はコミットしちゃだめだろww
.env.dev(コミットしない)
.env.prod(コミットしない)
.env.example(コミットする)
.env(コミットしない)
が正解だろ
252 = :
そもそも.env.devや.env.prodって必要ある?それらを同じサーバーに置かないだろ意味ないから
開発用のサーバーには開発用の.env
本番用のサーバーには本番用の.envがあるだけだろ
253 = :
>>252
.envを履歴管理したいって要件が出てくれば、普通に >>241 みたいなやり方になると思うぞ
デメリットも特にないし
254 = :
ならねーよ
255 = :
>>254
他にどんな管理方法がある?
視野狭窄じゃない?
256 = :
>>252
自動デプロイ回すのに
環境変数を設定する量は少なくしたいから
環境毎にenv分けて用意しとくのはよくあると思うんだが。
要らないenvが気になるならデプロイするときに除外すれば良いだけじゃない?
257 = :
もう.envスレを立ててそこでやれよ
258 = :
>>250
.envをリポジトリにコミットすることに関しては、合理的な理由なんてまったく無いよ。ここでの一連の会話読んでるか?
あと>>247の言い方からすると、お前は趣味でコード書いてるやつってことでOK?
259 = :
バカの考え休むに似たりってことわざもあるんだから、まずマニュアル通りにやったほうが良いぞ。
今、Laravel教えているやつも、経験値ゼロなのにマニュアル通りやってくれなくて、無茶苦茶なコード書くんでスゲー苦労してる。
260 = :
>>258
普通にバージョン管理の恩恵を受けると思うけど?
誰がいつどんな目的で変更を加えたのかわかるのは重要でしょ
監査とかで必要なケースもあるし
ってか、今話してるのはそういう流れなんだけど。。。
261 = :
>>260
お前はGitHub使わないとバージョン管理できないのか?ローカルリポジトリて知ってる?
262 = :
>>261
監査って知ってる?
263 = :
>>258
.env.exampleを使えってことなんだろうけど、そこまでちゃんとする必要なければ.env直の方が手間が減って合理的
あと趣味か仕事かは関係ない、開発者が1人かどうか、環境が1つかどうか等が関係してくるだろう
1人でLaravel開発する仕事しょっちゅうある
264 = :
>>261
これは思う
みんなGitHubをデフォルトと考えすぎだろ、それしか知らないニワカプログラマなのかと勘ぐってしまう
265 = :
>>262
はぁ?監査のためにGitHubのリモートリポジトリにコミットする合理的な理由が何か説明してみてよ。あとお前は>>247と同一人物?
266 = :
公式マニュアルや自分の知る方法だけが正しいと信じて守らない新人をバカにする
そういう輩が将来真っ先に老害になるから気を付けろよ
267 = :
>>263
関係あるだろ。趣味じゃないなら、新しくジョインするエンジニアのことや、そのコードを引き継ぐことも考えて標準に寄せるべきでは?オレオレ実装やオレオレ管理なんて、他人から見たらゴミだぞ。後生大事に思ってるのは本人のみだ。
まぁ、上のやつはそもそもマニュアル読んだ上で自分のやり方を選択したわけではないと思うけどね(笑)
268 = :
>>265
別にGitHubに限らんけど、チーム開発で変更履歴を証跡で残そうとするとごく普通の発想だろ
むしろ、ローカルリポジトリの履歴でどうやって監査対応するつもりなんだ?
269 = :
セキュリティだのマニュアル以前に、純粋に不便だと思うんだが
.envコミットする人って、他の誰かがコミットした.envをマージする時どうしてるの?
マージするたびにローカルの変更をstashしているのだろうか。
270 = :
>>266
守破離て言葉分かるか?自分のやり方で進める資格があるのはマニュアル通りやったことある人間だけだぞ。初めから好き勝手自分のやり方でやろうとするのは、ただのアホ。
273 = :
>>268
本番サーバーやデプロイサーバーにローカルリポジトリ作ってシェル書いてexportすりゃ良いでしょ。そもそも.envが監査対象になるときってあるの?どういう理由?
274 = :
俺以外も、.env直接使わないやり方の話してると思うんだけど、なぜ.envによる管理が合理的て未だに思い込んでるんだろ?
275 = :
>>273
ローカルリポジトリ作っててソース管理するんじゃんw
何が言いたいんだよ
276 = :
ローカルにGitLab立てるとかでもええやん
俺は管理面倒だからやらないけど
277 = :
荒れてるからスレの勢いが板でダントツ1位だw
いいぞもっとやれ
278 = 272 :
誰か僕の>>269の疑問解決してくれませんか?
279 = :
>>273
それ、自動デプロイと相性悪いだろ
280 = :
>>275
お前マジで言ってる?馬鹿すぎない?
281 = :
>>278
他の誰かなんていない
282 = :
>>278
それ解決できるのは、頑なに.env使ったほうが合理的とか言ってるヤツだけだからなぁ。実質不可能じゃね?ここで袋叩きにあってるせいか、適当な理由つけて自分を正当化するのに必死みたいだし。
283 = 272 :
>>281
じゃあやっぱり零細、個人事業主、日曜エンジニアの人がそう言ってるだけなんですかね?
284 = :
>>283
その約1名は、監査監査言ってるからなぁ。そこまで監査にこだわるわけだから、それなりの規模のある会社の末端プログラマの可能性はある。
285 = :
>>280
おまえ、大丈夫か?オシリ真っ赤だぞw
286 = :
普通に考えて>>269みたいなことになる環境ではコミットしないのでは?
287 = :
うちは中小未満零細以上って感じの会社だけど、Laravelのプロジェクトは1人でやらされる
288 = 272 :
>>286
開発者が一人しか居ない以外のケースでそれってあるんですかね?
それ以外だと例えばどんな環境なんだろう…
289 = :
開発者が複数いても実行環境が1つしかないってケースがあり得るぞ
うちも以前やってた
共通の開発鯖上で各人のディレクトリ分けて、DBは共通
290 = :
ここまでをオレ主観でまとめると
・.envは環境定義用のファイルなので、実行環境ごとに異なる。基本的にリモートリポジトリでの管理からは外すのが快適
・.envをセキュリティ観点でソース管理から外すっていってるのはセキュリティ分かってない証拠。その観点で見たときには環境変数使う
・.envをバージョン管理したいのであれば各環境ごとのファイルを作って、環境変数APP_ENVで利用するファイルを切り替える
異論は受け付けるw
291 = 272 :
>>289
> 実行環境が1つしかない
えっ、そんなケースもあるんですか!
1つしかないってことは、本番、ステージング、開発、すべてを兼ねてるんですか?
めちゃ効率的だし画期的じゃないですか!
まぁちょっと危ない気もしますが笑笑
マイグレーションとかどうしてるのか気になります笑笑
292 = :
>>290
.env.exampleが抜けてるぞ
テンプレ管理目的でこれをバージョン管理する
俺は今まで.envをコミットしていたが今後そうするつもり
293 = :
>>291
開発中にちょっと構文ミスっただけで、本番はデバッグ用のスタックトレース出てくる状態を想像したら草
294 = :
>>291
さすがに本番鯖は別にあります
開発鯖の中でディレクトリを分けて、
https://開発鯖ドメイン/開発者1
https://開発鯖ドメイン/開発者2
https://開発鯖ドメイン/masterの動作確認用
みたいにアクセスしてた
295 = :
>>292
いいね。お前みたいなのが居てくれると、ここでしつこく言った甲斐があるなぁ。
296 = :
>>292 さんきゅ
まとめ直した
1 ..envは環境定義用のファイルなので、実行環境ごとに異なる。基本的にリモートリポジトリでの管理からは外すのが快適
2 .envをセキュリティ観点でソース管理から外すっていってるのはセキュリティ分かってない証拠。その観点で見たときには環境変数使う
3 各環境の..envのテンプレは.env.exampleを使用すると良い
4. .envをバージョン管理したいのであれば各環境ごとのファイルを作って、環境変数APP_ENVで利用するファイルを切り替える
4はもうちょっと突っ込む必要があるかなぁ。他のフレームワークでもよく見る方法だけど、Laravelでデメリットはないのか、実際に使っている人のコメントがほしい
297 = 272 :
>>296
セキュリティの観点でいうと、やはりリポジトリに置かないほうが安全だと思ってしまったんですが、これやっぱり浅いですかね?
僕のところだと.envはignoreされてるので、ここで言うところの「コミットしない派」に含まれるんですよ。
だから新人の僕は本番のDBやRedisの接続情報、外部サービスの秘密鍵なんかは当然知らなくて、リリース担当者とマネジャーの人だけが知ってます。
その人たちは接続情報などは別のツールで管理してるっぽいです。
でも僕含めた他の多くメンバーは各自がDockerで用意すればいいだけなので困ることもないですね。
(もちろん.env.exampleは用意されてますよ)
で、それをignoreしてる理由は、正直ほかの皆のように深く考えたことなかったです笑
でも、その全員が本番のDBやRedis、その他にアクセスできると責任の所在が明確では無くなるのが問題だから除外されてるのかなって漠然と思ってました。
これはみんなの感覚で言うとずれてるんですかね?
298 = :
>>297
個人的には浅くないと思うけどな
それぞれいろんな理屈はあるにせよ、セキュリティの観点は看過できないとは思う
299 = :
.envをコミットする人たちってもしかして.idea等IDEが自動生成するフォルダも
コミットしているのか?
300 = :
>>297
セキュリティ観点で考えるなら、ちゃんと「何を何からまもるか」って検討しないと意味がない
Laravel以外も含む一般論としては、「.envとかconfigファイルとかに機密情報は記載せず環境変数で提供する」ってことになると思うけど、これはミドルウェアの管理者が接続情報を管理すべきって発想が根底にあるので、そこに乗れない環境であるなら自前のポリシーとガイドラインを設計する必要がある
昔は環境変数が主流だったけど、今はインフラやミドルウェアの仕様がかなりトリッキーなシステムもあるので、よりインフラ別な管理手法になって行くんじゃないかなぁ
みんなの評価 :
類似してるかもしれないスレッド
- 【PHP】Laravel【フレームワーク】 Part.2 (917) - [98%] - 2019/9/10 9:15
- 【PHP】Laravel【フレームワーク】 Part.3 (983) - [98%] - 2021/2/12 4:00
- 【PHP】Laravel【フレームワーク】 Part.9 (884) - [96%] - 2022/3/13 12:00
- 【PHP】Laravel【フレームワーク】 Part.8 (148) - [96%] - 2021/8/8 21:30
- 【PHP】Laravel【フレームワーク】 Part.7 (779) - [96%] - 2021/7/9 16:18
- 【PHP】Laravel【フレームワーク】 Part.6 (745) - [96%] - 2021/6/21 6:30
- 【PHP】Laravel【フレームワーク】 Part.5 (568) - [96%] - 2021/5/1 22:00
- 【PHP】Laravel【フレームワーク】 Part.12 (314) - [94%] - 2023/1/30 18:45
- 【PHP】Laravel【フレームワーク】 Part.10 (446) - [94%] - 2022/6/6 19:30
- 【PHP】Laravel【フレームワーク】 Part.11 (870) - [94%] - 2022/8/28 15:45
- 【PHP】Laravel【フレームワーク】 (887) - [82%] - 2019/4/23 21:00
- 【PHP】フレームワーク Akelos (129) - [54%] - 2019/5/9 7:46
トップメニューへ / →のくす牧場書庫について