Asked Mar 27th, 6:05 AM 109 0 2
  • 109 0 2
+1

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

Share
  • 109 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 ANSWERS


Answered Mar 30th, 1:03 AM
Accepted
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
Share
Answered Mar 27th, 6:35 AM
+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.

Share
Mar 27th, 7:41 AM

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

+1
| Reply
Share
Viblo
Let's register a Viblo Account to get more interesting posts.