jak wypuścić automatycznie wersję skoro użytkownicy na niej pracują co z ich sesjami
Musisz mieć co najmniej dwa serwery. Po wrzuceniu nowej wersji na serwery robisz:
- Wypinasz serwer 1 z load balancera
- Czekasz 30 minut
- Restartujesz serwer 1,
- Gdy serwer 1. działa, to włączasz go w load balancerze
- Wypinasz serwer 2 z load balancera
- Czekasz 30 minut
- Restartujesz serwer 2,
- Gdy serwer 2. działa, to włączasz go w load balancerze
Oczywiście nie rozwiązuje to problemu użytkowników, których sesja trwa więcej niż 30 minut.
Ewentualnie możesz zainteresować się tematem "session failover", np. http://wildfly.org/news/2014/03/14/Http-Session-Failover-WildFly/
co ze zmianami które zmieniają model danych/reorgi to nieraz musi trwać
Zmiany muszą być kompatybilne wstecz (do czasu kolejnego wdrożenia).
Np. chcesz usunąć kolumnę X z tabeli Y.
W pierwszym wdrożeniu usuwasz wszystkie odwołania do tej kolumny z aplikacji. Samej kolumny nie usuwasz.
Przy kolejnym wdrożeniu dopiero możesz usunąć tę kolumnę.