2012-02-08 40 views
7

Tôi rất tò mò muốn biết các nhà phát triển khác xử lý phiên bản ứng dụng web và triển khai các phiên bản khác nhau như thế nào. Vấn đề cơ bản là ai đó có thể đang sử dụng ứng dụng web của bạn khi bạn triển khai phiên bản mới, tại thời điểm đó, Javascript, họ không phải là khách hàng của anh ta đã lỗi thời.Triển khai ứng dụng web và nhiều phiên bản

Versioning các phương tiện truyền thông trên client-side là dễ dàng đủ, nhưng nếu bạn phiên bản mà bạn cũng cần phải phiên bản logic kinh doanh của bạn và cơ sở dữ liệu, đó là nơi mà mọi thứ có thể nhận được lộn xộn ...

Vì vậy, tôi thấy một vài cách để giải quyết vấn đề này:

  1. Hiển thị thông báo "Nâng cấp" trên trang web khi triển khai phiên bản mới.

  2. Phía máy khách thẻ phiên bản và từ chối mọi nội dung gửi đến phiên bản mới từ các nguồn phía máy khách cũ. Đủ công bằng, nhưng nó không thực sự đi đôi với việc triển khai liên tục.

  3. Di chuyển liên tục DB - chạy nhiều phiên bản của ứng dụng cùng một lúc (di chuyển người dùng sang phiên bản mới khi có thể). Điều này sẽ cần bất kỳ cập nhật nào trên lược đồ DB cũ để được "chuyển tiếp chuyển tiếp" đến lược đồ mới. Có vẻ hấp dẫn nhất cho việc triển khai, nhưng cũng có thể phức tạp khủng khiếp.

  4. Một nơi nào đó ở giữa cả ba.

Tôi nên lưu ý rằng tôi lo lắng về loại điều này vượt quá nhu cầu của hầu hết các ứng dụng, nhưng tôi đã nghĩ về điều đó và tôi tò mò muốn biết người khác xử lý nó như thế nào.

+0

Sự cố phức tạp. Thanh toán câu trả lời sau: http://stackoverflow.com/questions/389169/best-practices-for-api-versioning –

+0

câu hỏi hay – bhargav

Trả lời

-2

Có rất nhiều công cụ có sẵn cho các yêu cầu chính xác của bạn. Giống như Phing, và Phingistrano. Git cũng làm cho nó đơn giản nhưng điều đó sẽ không hiển thị thông báo ngoại tuyến và triển khai DB. Tôi khuyên bạn không nên triển khai tự động trên máy chủ trực tiếp, sử dụng triển khai tự động trên dàn dựng và triển khai thủ công trực tiếp. Ngoài ra, hãy tìm tích hợp liên tục trên google và thử teamcity

Các vấn đề liên quan