wiki:ReDesign/deploy/productionServer

Produkční server

Tento server je určen pro ostrý běh systému. Proto je nutné mít nejprve systém otestovaný na localhos a testovacím serveru. Poku bychom provedli nasazení rovnou na produkční server, mohlo by dojít k nevratnému poškození dat. Pro účely tesetování systélů RS a WMA slouží testovací prostředí.

Produkční prostředí je vytvořeno jako GlassFish doména na serveru lemma.ics.muni.cz

Informace o produkčním serveru

Produkční prostředí
Název GlassFish doménylemma
Umiestění GlassFish domény/usr/src/glassfish4/glassfish/domains/lemma
Port domény50080
URL RShttps://lemma.ics.muni.cz/RS/
URL WMAhttps://lemma.ics.muni.cz/WMA/
URL k administraci doményhttps://lemma.ics.muni.cz:50048/
Databázový serverserver db.fi.muni.cz
Databázepgdb

V případě produkčního prostředí je použitá externí PostgreSQL databáze na serveru db.fi.muni.cz.

Spuštění testovacího serveru

  1. Zkontrolovat zda je na serveru prázdný adresář /var/tmp/lemma/
  1. Spuštění/zastavení glassfish domény produkčního serveru. Provedení následujících příkazů na serveru:
#pro spuštění domény
/usr/src/glassfish4/bin/asadmin start-domain lemma

#pro zastaavení domény
/usr/src/glassfish4/bin/asadmin stop-domain lemma

#vždy po provedení jednoho z výše uvedených příkazů
service apache2 restart

  1. Produkční server musí být vždy zapnutý. Pokud by tomu tak nebylo byly by nedostupné RS a WMA laboratoře LEMMA.

Nasazení systému na produkční server

Postup pro nasazení systému:

  1. V projektu přejdeme do modulu Entity Persistance =>other Sources => setup => editovat soubor glassfish-resources.xml.

Nastavení vypadá následovně:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE resources PUBLIC "-//GlassFish.org//DTD GlassFish Application Server 3.1 Resource Definitions//EN" "http://glassfish.org/dtds/glassfish-resources_1_5.dtd">
<resources>
    <jdbc-connection-pool allow-non-component-callers="false" associate-with-thread="false" connection-creation-retry-attempts="0" connection-creation-retry-interval-in-seconds="10" connection-leak-reclaim="false" connection-leak-timeout-in-seconds="0" connection-validation-method="auto-commit" datasource-classname="org.postgresql.ds.PGSimpleDataSource" fail-all-connections="false" idle-timeout-in-seconds="300" is-connection-validation-required="false" is-isolation-level-guaranteed="true" lazy-connection-association="false" lazy-connection-enlistment="false" match-connections="false" max-connection-usage-count="0" max-pool-size="32" max-wait-time-in-millis="60000" name="post-gre-sql_lemma_postgresPool" non-transactional-connections="false" pool-resize-quantity="2" res-type="javax.sql.DataSource" statement-timeout-in-seconds="-1" steady-pool-size="8" validate-atmost-once-period-in-seconds="0" wrap-jdbc-objects="false">
    </jdbc-connection-pool>
    <jdbc-resource enabled="true" jndi-name="jdbc/Lemma" object-type="user" pool-name="post-gre-sql_lemma_postgresPool"/>
</resources>

  1. V projektu přejdeme do modulu LemmaCommon? => editovat soubor ShibbolethManager?. java.

Nastavení vypadá následovně:

configFile = new File("/var/tmp/lemma/config.properties");
  1. Sestavení projektu ze zdrojového kódu (projekt Lemma-ear). V NetBeans? IDE provedeme Clean and Build.
  2. Zakážeme nahravání souborů přes systémové proměnné. Nastavit hodnotu true. https://lemma.ics.muni.cz/WMA/admin/properties
  3. Počkejte dokud nebudou všechny aktivní převody videí dokončeny. https://lemma.ics.muni.cz/WMA/admin/status
  4. Provedeme dump aktuální databáze z produkčního prostředí.
  5. Provedeme zálohu aktuálně nasazeného EAR souboru.
  6. Přihlásíme se do administrace produkčního prostředí.
  7. V záložce Applications provedeme undeploy staré verze systému ("Lemma-ear").
  8. Aplikujeme na databázi daného prostredí všechny skripty, které v ní ješte nejsou aplikované, a to v určeném pořadí.
  9. Nahrát (deploy) novou verzi (sestavený archiv z 2. kroku) pod názvem "Lemma-ear".
  10. Po úspěšném nasazení povolíme nahrávání souborů přes systémové proměnné. Nastavit hodnotu false. https://lemma.ics.muni.cz/WMA/admin/properties
  11. Provést kontrolu funkčnosti (pozor nesmíme nijak pozměnit data v produkční databázi):
    1. otestovat základní funkcionalitu,
    2. otestovat novou funkcionalitu.
Last modified 17 months ago Last modified on 05/27/19 21:44:08