2013-09-03 12 views
6

Oto jedyne rozwiązania Doszedłem się z (nie wiem, czy oni są wystarczające choć):Ciągłe wdrażanie aplikacji z jedną stroną?

aktualizacje Server-side:

Wersja każde żądanie klienta i mają trasę proxy do odpowiedniej wersji serwera.

aktualizacje cient-side:

informuje Klienta za pośrednictwem połączenia websocket aby ponownie wprowadzić tagi skrypt/styl po X liczba minutach bezczynności sposób odwołujących 2 żądań AJAX dla zaktualizowanego JS/Pliki CSS i odśwież HTML strony .

Nie wiem, czy jest to coś, co nie powinno być priorytetem we wczesnych etapach aplikacji i powinienem po prostu wziąć całą aplikację na "zaplanowaną konserwację" we wczesnych godzinach porannych .

Dla celów SEO, HTML strony tytułowej jest wysyłany przez serwer wraz z pojedynczym plikiem JS/CSS.

Odpowiedz

0

przypadku wdrażania do serwera tomcat, można po prostu nadpisać .js i .css plików w odpowiedniej lokalizacji „Wdrożone” ....

skopiować pliki do/katalogu/wdrożonej/app/lokalizacji/webapp/js, itp. jest to szybki i łatwy sposób na "gorącą instalację" nowego JS/CSS bez wychodzenia z serwera ..... jednak jeśli masz wsparcie backendu, które również wymaga aktualizacji, może to być wymagają ponownego uruchomienia usługi tomcat. w takim przypadku może pomóc coś takiego jak Jenkins. http://www.tomcatexpert.com/blog/2012/03/21/integrating-jenkins-and-apache-tomcat-continuous-deployment

+0

Wątpię, że wdraża plik node.js do tomcat. –

+1

Robię to cały czas. Używanie Java i Spring jako zaplecza. Węzeł nie musi działać jako serwer. – Robert

+0

Nie rozumiem. Czy używasz pliku node.js po stronie klienta (w przeglądarce)? Które kawałki? –

1

Wydaje mi się, że Right Thing (tm) polega na stworzeniu aplikacji do obsługi pojedynczych stron w taki sposób, aby zużywała ona RESTful API, która jest jakością publiczną. Innymi słowy, pomyśl o tym, jakbyś publikował swój interfejs API na całym świecie i wprowadzając zmiany, aby były kompatybilne wstecz. Myślę, że nie jest to tak trudne, jak mogłoby się wydawać, i pozostawi ci czystszy system. Z pewnością lepsze niż budowanie złożonego wersjonowania i schematu na żywo!

+0

A więc zmiany łamania API musiałyby być powolnym przejściem. Jaki byłby właściwy sposób wprowadzania nowych funkcji lub usuwania starych, jeśli "uaktualnienie" interfejsu API nie było tą zmianą. Aktualizacje do interfejsów API można kodować w celu zapewnienia kompatybilności wstecznej, ale funkcja dodawania lub odejmowania obejmuje bezpośrednie zmiany w kodzie strony klienta i serwera. – paulkon

+0

Dodatek funkcji nie jest problemem: stare klienty buforowane nie będą o tym wiedzieć i nie będą z niego korzystać? –

+0

Ale to jest problem, jeśli dawni klienci _never_ odświeżają stronę. Jak mógłbym kiedykolwiek naciskać lub wyciągać funkcje od tych klientów? – paulkon

Powiązane problemy