Z Maven jest to proste w świecie Java
mvn clean deploy
W naszej konfiguracji robi to wszystko, co niezbędne do zbudowania pliku WAR (pobieranie zależności JAR w razie potrzeby), wdrożenie na serwerze deweloperskim i utworzenie danych testowych w bazie danych dewelopera. Gdy to nastąpi, Maven przeprowadzi kompleksowe testy funkcjonalne za pośrednictwem SeleniumRC w celu weryfikacji działania aplikacji.
To pojedyncze polecenie powoduje, że aplikacja jest w pełni wdrożona w klastrze serwerów deweloperów, dzięki czemu jest dostępna dla innych programistów do natychmiastowej pracy (zakładając, że przeszła testy). Wdrażanie oprogramowania deweloperskiego kończy się niepowodzeniem, ponieważ programiści sprawdzili, czy działa on lokalnie mvn clean install
.
Artefakt migawki (WAR) jest następnie kopiowany do repozytorium Maven w celu udostępniania go innym programistom (zgodnie ze standardowym deploy
zachowaniem Maven ).
OK, ale wdrożyłeś tylko migawkę dla programistów, co z testami i produkcją?
Dystrybucja do testowych i (późniejszych) serwerów produkcyjnych jest obsługiwana przez proces wydania Maven, który lubimy obsługiwać ręcznie, aby upewnić się, że ktoś obserwuje podejrzane dane wyjściowe. Testerzy pracują tylko z wydanymi artefaktami, a nie migawkami.
Po wydaniu jest używany prosty skrypt kompilacji do SFTP pliku WAR do klastra serwerów testowych, ponownie, gdy ktoś obserwuje proces, aby upewnić się, że nic nie pójdzie źle.
Wreszcie, po tym, jak wszyscy testerzy są zadowoleni, niezmienionym plikiem WAR jest SFTP aż do klastra serwerów produkcyjnych przełączania awaryjnego, przy czym ktoś pilnie obserwuje i natychmiast przywraca pozycję na wypadek awarii.