Tôi đang cố gắng để quấn quanh đầu tôi những .env
cách để thực hiện cấu hình trong Laravel 5.Các giá trị môi trường cụ thể nên được lưu trong ứng dụng Laravel 5 ở đâu?
Dưới đây là câu chuyện của tôi: Tôi đang chuyển đổi một ứng dụng hiện có Laravel 4 đến Laravel 5. Tôi hiện đang có môi trường khác nhau (local
và production
) và hệ thống cấu hình xếp tầng hoạt động tốt. Tôi có cấu hình ứng dụng dành riêng cho môi trường của mình trong các thư mục riêng biệt theo số app/config
.
Ứng dụng của tôi hiện được triển khai (và phát triển) trong vùng chứa Docker. Để xây dựng cho triển khai, tôi sử dụng một Dockerfile để xây dựng hình ảnh ứng dụng của tôi (dựa trên chi nhánh master
của tôi), sau đó được đẩy tới một kho lưu trữ và được kéo lên máy chủ sản xuất.
Vì vậy, bây giờ tôi đang cố gắng chuyển đổi cấu hình của mình cho Laravel 5 và tôi hơi bối rối. Mọi thứ tôi đọc cho biết bạn thêm các tệp .env
của mình vào tệp .gitignore
để tệp không được đưa vào kho lưu trữ của bạn. Tôi hiểu lý do bảo mật cho điều này - không cam kết các khóa/mật khẩu API nhạy cảm/bất kỳ điều gì đối với kho lưu trữ của bạn. Nhưng tôi không chắc chắn làm thế nào để đảm bảo rằng sản xuất của tôi .env
tập tin được bao gồm trong bước xây dựng của tôi nếu nó không phải là một phần của kho lưu trữ.
Ý tưởng tôi có là đặt sản phẩm .env
vào một nơi nào đó trong hệ thống tệp của mình bên ngoài môi trường phát triển của mình và sau đó sao chép nó khi cần.
Đây có phải là "phương pháp hay nhất" để quản lý việc này không? Đây có phải là cách người khác làm điều đó không?
Cảm ơn!
AFAIK bạn có nghĩa là sao chép trực tiếp tệp đó vào máy chủ. Tôi đã được SSHing vào máy chủ của tôi và cập nhật các tập tin env khi cần thiết để phản ánh những thay đổi/yêu cầu mới. –
@JamesSpence Vâng, đó là những gì tôi nghĩ quá, nhưng bước xây dựng/triển khai của tôi hơi khác một chút - không dễ dàng hoặc thuận tiện để xây dựng hình ảnh Docker, triển khai nó, THEN ssh vào máy chủ, nhập vùng chứa Docker & sao chép tập tin. Đó là lý do tại sao tôi nghĩ rằng điều quan trọng là phải đề cập đến thực tế là tôi đang làm điều này với Docker. – Kryten
Tôi chưa bao giờ sử dụng Docker trước đây, nhưng tôi cho rằng bạn có thể sao chép các tệp vào môi trường đó, phải không?Nó có thể không đơn giản như kéo repo vào và đi ngay phía trước, nhưng nó chỉ là một bước khác. Đó là những gì tôi phải làm để triển khai các tệp env của mình. –