Tôi đang làm việc trên một ứng dụng web chạy trên ngăn xếp LAMP (Linux Apache Mysql PHP) và muốn các đề xuất về cải thiện quy trình làm việc của tôi.Làm cách nào để cải thiện chiến lược phát triển và triển khai của tôi?
Tôi có 3 môi trường:
- máy tính cục bộ của tôi AKA phát triển tôi môi trường
- Một dàn dựng tài khoản trên máy chủ chuyên dụng của tôi để tôi có thể kiểm tra các ứng dụng web
- Một sản tài khoản trên máy chủ chuyên dụng của tôi
Tôi thực hiện tất cả sự phát triển trên máy tính cục bộ của mình và sử dụng máy chủ lật đổ nằm trên máy chủ chuyên dụng của tôi. Tôi thiết lập một kịch bản móc để bất cứ khi nào tôi cam kết, tài khoản "dàn dựng" của tôi được cập nhật bằng mã mới.
Thỉnh thoảng tôi đảm bảo rằng mọi thứ hoạt động tốt trên tài khoản dàn dựng và đẩy các thay đổi vào tài khoản sản xuất của tôi qua một tập lệnh nhỏ.
này hoạt động tốt đủ cho hầu hết các phần, nhưng có một vài kích ứng:
tên miền của tôi là mã hóa cứng trong một vài nơi, làm cho nó tốn nhiều thời gian để chuyển đổi giữa các môi trường . Tôi có thể sửa đổi tập tin host của tôi bằng tay nhưng nó không chính xác nhanh và nó không hoạt động cho 2 tài khoản (prod/staging) trên cùng một máy chủ.
Tôi không có cách nào giữ cơ sở dữ liệu cập nhật trên cả ba môi trường. Tôi có thể sử dụng cùng một cơ sở dữ liệu cho tất cả các môi trường nhưng tôi sẽ phải chịu rủi ro phá vỡ môi trường sản xuất.
Vì vậy, câu hỏi của tôi là: tôi có thể làm gì để giảm thiểu những vấn đề này?
CẬP NHẬT: Sự cố miền mã hóa cứng được giới thiệu bởi phần mềm của bên thứ ba và do đó, "không mã hóa cứng" không phải là tùy chọn tại thời điểm này.
Olivier: Tôi đã chỉnh sửa câu hỏi của bạn trong một nỗ lực để làm cho nó cụ thể hơn. SO không phải là một diễn đàn, và có xu hướng làm việc kém cho "bất kỳ ý kiến về điều này?" câu hỏi; Tôi nghĩ rằng bạn đã làm tốt công việc xác định các vấn đề cụ thể trong đoạn cuối của bạn, và vì vậy đã cố gắng nhấn mạnh những điều đó (cũng làm thay đổi tiêu điểm của tiêu đề tránh xa sự xúi giục những giai thoại) – Shog9
bất cứ ai có thể nói cho tôi biết quy ước chung và ý nghĩa liên kết với dev, stg và prod. Có vẻ như tôi đang nhầm lẫn về ý nghĩa của họ (hoặc có vẻ như tôi đã sử dụng quy ước/ngữ nghĩa mà không đồng bộ với những gì người khác đang sử dụng). Cảm ơn –
Tôi tin rằng đây là quy ước thông thường: Dev: môi trường dành cho nhà phát triển Dàn dựng: môi trường để đảm bảo chất lượng (trước khi đẩy thay đổi cho sản phẩm) Sản xuất: môi trường công cộng –