2013-09-03 30 views
6

Đây là giải pháp duy nhất mà tôi đưa ra (không biết nếu họ là đủ mặc dù):Triển khai liên tục một ứng dụng một trang?

Server-side cập nhật:

Version mọi yêu cầu của khách hàng và có con đường ủy quyền đến phiên bản máy chủ thích hợp .

cient-side cập nhật:

Thông báo cho khách hàng qua kết nối WebSocket để tái tiêm các thẻ script/phong cách sau khi X số phút nhàn rỗi do đó gọi 2 yêu cầu ajax cho cập nhật JS/Các tệp CSS và làm mới HTML của trang .

Tôi không biết đây có phải là thứ không được ưu tiên trong giai đoạn đầu của ứng dụng hay không và tôi chỉ nên gỡ toàn bộ ứng dụng xuống để "bảo trì định kỳ" vào sáng sớm .

Đối với mục đích SEO, HTML của trang chủ được gửi bởi máy chủ cùng với tệp JS/CSS đơn lẻ.

Trả lời

0

Nếu bạn đang triển khai đến một máy chủ tomcat, bạn chỉ có thể ghi đè lên .js và các tập tin .css trong đúng "triển khai" vị trí ....

file copy to/your/triển khai/app/vị trí/webapp/js, v.v. đây là một cách nhanh chóng và dễ dàng để "triển khai nóng" một JS/CSS mới không sử dụng máy chủ ... tuy nhiên nếu bạn có hỗ trợ phụ trợ cũng cần được cập nhật, điều đó có thể yêu cầu khởi động lại dịch vụ tomcat. trong trường hợp nào đó giống như Jenkins có thể giúp. http://www.tomcatexpert.com/blog/2012/03/21/integrating-jenkins-and-apache-tomcat-continuous-deployment

+0

Tôi nghi ngờ anh ấy đang triển khai node.js đến tomcat. –

+1

Tôi làm mọi lúc. Sử dụng Java và Spring làm phần cuối. Nút KHÔNG phải hoạt động như máy chủ. – Robert

+0

Tôi không hiểu rồi. Bạn đang sử dụng node.js ở phía máy khách (trong trình duyệt)? Phần nào? –

1

Tôi nghĩ Right Thing (tm) là xây dựng ứng dụng trang đơn của bạn theo cách nó tiêu thụ RESTful API là chất lượng công cộng. Nói cách khác, hãy suy nghĩ về nó như thể bạn đang xuất bản API của bạn với thế giới và khi thực hiện các thay đổi làm cho chúng trở nên tương thích ngược. Tôi nghĩ rằng đây không phải là khó như nó có thể nghĩ và sẽ để lại cho bạn một hệ thống sạch hơn. Chắc chắn tốt hơn là xây dựng một phiên bản phức tạp và chương trình vá trực tiếp!

+0

Vì vậy, thay đổi phá vỡ API sẽ phải chuyển đổi chậm. Điều gì sẽ là cách thích hợp để giới thiệu các tính năng mới hoặc xóa các tính năng cũ nếu "nâng cấp" API không phải là thay đổi được đề cập. Nâng cấp lên API có thể được mã hóa để tương thích ngược nhưng tính năng bổ sung hoặc trừ đi liên quan đến những thay đổi trực tiếp trong mã phía máy khách và máy chủ. – paulkon

+0

Ngoài ra tính năng bổ sung không phải là một vấn đề: khách hàng cũ lưu trữ sẽ không biết về nó và sẽ không sử dụng nó? –

+0

Nhưng đó là vấn đề nếu khách hàng cũ _never_ làm mới trang. Làm thế nào tôi có thể đẩy hoặc kéo các tính năng từ các khách hàng này? – paulkon

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