Yêu cầu thg 3 27, 2021 6:05 SA 277 0 2
  • 277 0 2
+1

[Laravel] Hỏi về cách dùng file .env cho môi trường develop và production

Chia sẻ
  • 277 0 2

Chào mọi người Mình là dev Front-End, lâu lâu dạo lại Backend với Laravel. Và hiện tại mình gặp vấn đề với cách chia và dùng file .env trong Laravel Hiện tại mình đang có các file .env sau .env - cho production .env.development - Cho develop .env.staging - test trước khi đưa lên production

Mình đang chia project theo các branch master, develop, và staging. Và nên làm các nào để mỗi branch sẽ nhận đúng giá trị trong file .env đó

Mình cảm ơn.

2 CÂU TRẢ LỜI


Đã trả lời thg 3 30, 2021 1:03 SA
Đã được chấp nhận
0

Khi deploy thì trên server bạn cứ đặt file là .env thôi vì trên server thì thường mỗi môi trường bạn sẽ deploy ra các folder khác nhau chứ chẳng chung một folder đâu nhỉ? 😄

Với các biến môi trường không nhạy cảm như APP_URL... chỉ cần sử dụng để build bundle cho frontend thì bạn có thể thêm nó vào ngay trong cấu hình CI/CD của bạn mà không cần thiết phải để đặt env variable trên server. 😃 Ví dụ như với Gitlab:

deploy-staging:
  environment:
    APP_URL: https://your-staging.domain

deploy-production:
  environment:
    APP_URL: https://your-prod.domain
Chia sẻ
Đã trả lời thg 3 27, 2021 6:35 SA
+2

Mình chưa hiểu sao bạn lại cần như vậy?

  1. File .env thường sẽ không được đưa lên git (mặc định Laravel cũng đã cho file .env vào .gitignore).
  2. Mỗi môi trường bạn sẽ cấu hình file .env riêng cho nó.

Nếu deploy một cách thủ công thì vì file này đã bị ignore rồi nên nó sẽ không bị ảnh hưởng gì khi bạn update code mới lên server. Nếu deploy bằng tool (deployer chẳng hạn) thì file .env cũng nên đưa vào shared để dùng chung và ko ảnh hưởng gì tới web khi deploy.

Chia sẻ
thg 3 27, 2021 7:41 SA

uhm, cảm ơn vì câu trả lời của bạn 😄

Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí