SlovnikTerminologie: NasazeniAplikace

from Wiki KIVu

SPOT - nasazení projektu, verze z roku 2012

Poznámka

Existuje i krátký návod na rozchození užitečný pro vývoj na lokále (Březen 2013).

Potřebný software

Před vlastním nasazením aplikace je třeba mít nainstalován potřebný software.

Základní popis jejich instalace se nachází na následujících řádcích.

Java

Pro úspěšný běh aplikace je třeba mít nainstalovanou Javu 5.0 nebo vyšší. V případě problému zkuste najít řešení problému na URL: http://java.sun.com/javase/

Instalace windows:

  1. Z URL: http://java.sun.com/javase/downloads/index.jsp si stáhněte potřebný instalační soubor.
  2. Spusťte instalaci.
  3. Po úspěšné instalaci vytvořte v proměnných prostředích systémovou proměnnou JAVA_HOME s hodnotou odkazující na adresář s nainstalovanou Javou JDK, Napr.: C:\Program Files\Java\jdk1.5.0_02
  4. Pak přidejte do PATH řetězec %JAVA_HOME%/bin a zakončete středníkem.
  5. Nyní by jste měli mít Javu nainstalovanou tak, jak je třeba pro další software.

Instalace linux (debian)

  1. instalaci spustit příkazem "sudo apt-get install sun-java6-jdk sun-java6-plugin"
  2. pokud máte nainstalováno více verzí Javy, zobrazíte verze přikazem "update-java-alternatives -l" a vyberete výchozí verzi příkazem "sudo update-java-alternatives -s java-6-sun"

Ověření funkčnosti

  1. úspěšnou instalaci lze ověřit v konzoli příkazem "java" a "javac", kdy by oba měly vypsat nápovědu.
  2. Pouze pro Windows: pro načtení systémových proměnných budete muset pravděpodobně restartovat počítač
  3. Pouze pro Windows: pokud se vyskytl problém s kompilátorem javac, který nemůže najít žádné *.java soubory, zkuste do PATH přidat pouze znak '.' (tečka) a zakončit znakem ';' (středník).

Odkazy

Maven 2

Maven je nástroj sloužící k snazšímu řízení projektů. Zároveň je to kus software, který programátorům usnadňuje jejich činnost. Dal by se přirovnat k nástroji Ant, jen s tím rozdílem, že v antu programátor musí nadefinovat, co vlastně ant má provést, kdežto v mavenu jen stačí nadeklarovat, co chce programátor provést. Doporučená verze je 2.0.8, avšak je velmi pravděpodobné, že pro všechny verze řady 2.0.x poběží aplikace korektně. Aktuální verze (listopad 2009) je 2.2.1.

Maven lze stahnout z http://maven.apache.org/download.html Podrobny navod se da najit v dokumentaci a nebo ve volne stazitelne knize Better builds with Maven, volne stazitelna z http://www.exist.com/better-build-maven.

Instalace windows

  1. Stáhněte si archiv mavenu z URL: http://maven.apache.org/download.html
  2. rozbalime archiv do adresare, kde se nachazi uzivatelske programy. Doporucuje se neco ve stylu c:/Program Files/Apache Software Foundation/maven-2.0.x
  3. Vytvorime v promennych prostredi systémovou promennou MAVEN_HOME s hodnotou odkazujici na adresar, kde se prave nachazi maven. Napr.: c:/Program Files/Apache Software Foundation/maven-2.0.x
  4. Do systémové proměnné PATH přidejte řětězec %MAVEN_HOME%/bin a zakončete středníkem. Tim zajistime, ze OS bude hledat pro spusteni prikazu mvn(spustitelny soubor) ve spravnem adresari.
  5. Spravne nastaveni zjistime v bash / cmd(command line) napriklad prikazem "mvn -version". POZOR: JE NUTNE BYT PRIPOJEN K ITERNETU! Pri prvnim spusteni temer kazdeho prikazu nebo pripadne pridani knihovny do pom.xml se vzdy tahaji potrebne knihovny a soubory z hlavni repository z netu. Pokud se vypise verze mavenu, tak mate spravne nastaveny krok 4 a muzete pokracovat dále), jinak opakujte. Muze se take stat, ze nemate nastaveny JAVA_HOME v PATH, takže je nutné tuto systémovou proměnnou pridat podle návodu uvedeného výše.

Instalace linux (debian)

  1. Pod operačním systémem linux, distribuce Debian, stačí nainstalovat balík maven2 příkazem "sudo apt-get install maven2", pokud Vaše distribuce založená na Debianu nemůže balík najít, zkuste ho najít ručně příkazem "sudo apt-cache search maven2".

Ověření funkčnosti

Nyní by jste měli mít připraven maven k použití. To se lehce ověří příkazem "mvn -version", po kterém maven vypíše mimo jiné verzi operačního systému a běžícího mavenu. Doporučuji spouštět maven jen s připojením k internetu a to z toho důvodu, že maven si stahuje do lokálního repositáře potřebné balíčky z výchozích repositářů. Na úplném začátku je tedy doporučeno jednou spustit alespoň příkazy:

* mvn clean
* mvn compile
* mvn war:war
* mvn javadoc:javadoc
* mvn jetty:run

Více informací můžete najít v anglickém jazyce na URL: http://maven.apache.org/download.html

Odkazy

Postgre SQL

Postgresql je databázový server, se kterým pracuje aplikace SPOT. Jediná verze databázového serveru, se kterou je aplikace úspěšně otestována je verze 8.1 (zde je lokální kopie ke stažení Δ). S verzemi nižšími jsou problémy a verze vyšší nejsou zatím kompletně otestovány. Z těchto vyšších verzí je otestována pouze verze 8.4.1, která také způsobuje problémy, hlavně kvůli novým datovým typům.

Instalace

Obrázkový tutoriál instalace Postgres 8.1 na OS windows turorial-postgres-instalace-win.zip [0,7 MB]

  1. Stáhněte si archiv z URL: http://www.postgresql.org/download/ (instalacni soubor pro postgres 8.1 win32 lze docasne stahnout z http://home.zcu.cz/~jsobisek/spot)
  2. Spusťte instalační balíček a nainstalujte databázový server. V případě instalace na unix like OS doporučuji navštívit patřičná fóra pro získání rad, jak server snadno a rychle server nastavit a zprovoznit.
  3. Kodovani cele databaze je doporuceno nastavit pri instalaci jako UTF8
  4. Vytvořte si patřičného uživatele na DB serveru a databázi, pod kterou budete chtít mít uložená data aplikace.
  5. Spusťte jediný inicializační SQL skript (/sql/<nejnovějěí datum>) pod vámi vytvořenou databází, v tomtéž adresáři se nachází soubor readme.txt s podrobnějšími informacemi
  6. Nyní by jste měli mít inicializované tabulky základními daty.

V případě problémů zkuste najít řešení na URL: http://www.postgresql.org/docs/8.1/interactive/index.html

Instalace a spuštění postgresql databáze

Konzole

Návod instalace je určen pro linux. Práce v psql konzoli je nezávislá na platformě, tato konzole se v OS windows nachází standartně v c:\Program Files\PostgreSQL\8.1\bin\psql.exe nebo ji můžete spusit přes tlačíko Start -> PostgreSQL 8.1 -> 'psql' to postgres

pgAdmin gui

Restart databáze

Windows
Linux (debian)

Požadované operace v konzoli pomocí příkazů:

Tipy a triky s db

Známe problémy

Odkazy

Jetty

Lehký servletový kontejner, na kterém rozběháte aplikaci bez nutnosti instalace kontejneru. Aplikace by měla bez problému běžet na verzi 6.1.x. Testováno jen pro verze 6.1.8 – 6.1.12rc3.

Instalace

  1. Stáhněte si archiv servletového kontejneru z URL: http://dist.codehaus.org/jetty/
  2. Rozbalte do adresáře, ze kterého budete chtít servletový kontejner spouštět. Servletový kontejner není třeba nijak instalovat a nastavovat. Základy jeho použití naleznete níže. V případě problému se servletovým kontejnerem navštivte http://docs.codehaus.org/display/JETTY/Jetty+Wiki

Známé problémy

Konfigurace aplikace

Nyní to záleží na zvycích vývojáře jak to vyřeší se servletovým kontejnerem.

  1. volbou je využívat pluginu do mavenu jetty, o používání více v dokumentu PouzivaneTechnologie a NavrhAplikace.
  2. volbou je mít "nainstalovaný" servletový kontejner Tomcat a nebo Jetty, na kterých SPOT určitě běží. A poslední možností je používat spouštění aplikace z IDE. Předchůdci vyvíjeli v eclipse a zásadně buildili z něj. Přehledný návod pro instalaci Tomcatu do IDE k dispozici na http://keyboardsamurais.de/2007/02/26/eclipse-wtp-and-tomcat-tutorial/

Import slov ze souboru

Při importu slov ze souboru je k překódování obsahu souboru do správného kódování (UTF8?) používán program enca. Pokud jste si jisti, že uživatelé aplikace budou importovat soubory pouze ve správném kódování, není potřeba program instalovat (nedoporučuje se).

Konfigurace property souborů

Zde jsou popsány konfigurační soubory aplikace, přes které se dá do jisté míry upravit chování aplikace. Všechny konfigurační soubory se nachází na tomto umístění:./src/main/webapp/WEB-INF/properties/

Deploy aplikace

Překlad

  1. V příkazové řádce příkazem mvn compile. Tento a další příkazy se volají z kořenového adresáře projektu.
  2. Vytvoření archivu se provede z příkazové řádky příkazem mvn war:war, který se volá z kořenového adresáře projektu. Tedy toho adresáře, ve kterém se nachází soubor pom.xml. Nebo je možné spustit skript buildwar.cmd(windows) nebo buildwar.sh(linux) v adresáři /.src/scripts/, který se postará o kompletní překompilování tříd a sestavení finálního war souboru.
  3. Po provedení příkazu se vytvořil v kořenovém adresáři projektu adresář target, který obsahuje mimo jiné požadovaný war archiv aplikace.

Databáze

  1. Příkaz "pg_dump -U username --clean dbname > dump.sql" vytvoří dump z lokální DB. Tento soubor bude obsahovat příkazy pro smazání všech tabulek, sekvencí apd.
  2. Ze souboru dump.sql smazat řádky s mazáním schématu public, jeho vytvářením a řádku "ALTER SCHEMA public OWNER TO postgres"
  3. Při nasazení na server do konzole: "psql dbname user"
  4. A spustit příkaz: "\i cestaKSouboru"

Pozn: Poslední dva body platí i pro spouštění update skriptů

Příprava souborů

  1. ve spot.properties odkomentovat spravne nastaveni posilani emailu - smtp server, uzivatel, heslo, ssl (od verze 2.8.1: tento bod preskocit, odesilani funguje jen pres seznamovy email - tj. stejny jako na lokale)
  2. Odkomentovat v header.jsp javascripty (+ google link ?) kvuli google analytics (na localhostu by behem vyvoje melo zustat zakomentovane)
  3. zkontrolovat verzi aplikace; nejaka verze aplikace je uvedena ve pom.xml a spot.properties; ve footer.jsp se nacita uz z properties, nekdo tam to nacitani verze uz vyresil
  4. v jdbc.properties zmenit podle nastaveni ostreho serveru hodnoty jdbc.url, jdbc.username, jdbc.password
  5. ve log4j.properties podle potreby změnit cesty k logu: log4j.appender.R.File, log4j.appender.U.File
  6. pokud byly nejake zmeny v databazi, připravit si SQL update skript, který bude potřeba spustit na ostré existujici databázi
    • ve scriptu je třeba používat uživatele spot_zcu_cz tak aby příkazy typu ALTER TABLE ... OWNER TO ...; prošly bez warningů.
  7. pro první nasazení SPOTu na serveru: připravit si instalační skripty (případně binární soubory) na používané programy 3. stran, hlavně program [enca]. Instalační skript pro linux se nacházi v ./scripts/install.sh.
  8. na ReleaseNotes na FeatureList přidat info o nových vlastnostech
  9. doplnit postup a změny instalace v nové verzi (dolů na tuto stránku - odstavecc Deploy)
  10. overit stavajici implementaci nasazením na testovací server BetaSpot a pridat (ověřit) potrebny testovaci scenare - http://wiki.kiv.zcu.cz/SlovnikTerminologie/TestovaciScenare
  11. od uvolnene RC9? jsou změny v databázi, info o nasazení RC9? dále

Vlastní deploy .war souboru

Před samotným nasazením na ostrý server je doporučeno vyzkoušet tento release na testovacím serveru, podrobnosti na stránce BetaSpot

  1. Před vlastní přípravou balíčku je třeba nastavit property soubory (viz předchozí odstavec).

WAR archiv nahrajte do adresáře webapps, který se nachází v kořenovém adresáři servletového kontejneru jetty.

spot-2.0-rc7 (depricated)
  1. nainstalovat program enca (standartne v repozitarich debianu) na server - spustit instalacni bash skript /scripts/install.sh
  2. aktualizovat databazi - spustit SQL skript /scripts/spot_update.sql
spot-2.0-rc9
  1. nainstalovat program enca (standartne v repozitarich debianu) na server - spustit instalacni bash skript /scripts/install.sh
  2. sql skript pro databazi - je potřeba spustit nový SQL skript /scripts/2009-11-23/2009-11-23.sql
    • pokud spouštíte skipt přes gui pgAdminIII, můžete se setkat s chybou: ERROR: syntax error at or near "2" na znaku 26242, řešením je využít příkazovou řádku databáze postgres (viz návod u databáze Postgres uvedený výše)

Spuštění aplikace

Tutoriál pro windows: turorial-spot-app-spusteni.zip [0,4 MB]

Samostatné spuštění servletového kontejneru
  1. spustit mvn clean, mvn compile, mvn war:war
  2. z adresáře {SPOT}/target zkopírovat do {jetty}/webapps celou složku spot-2.0-rcX, kde {SPOT} je adresář projektu Spot a {jetty} je kořenový adresář rozbaleného archivu jetty
  3. spuštění jetty se provede například příkazem java -jar start.jar z kořenového adresáře kontejneru (kam jste rozbalili archiv s jetty). Aplikace by měla nyní běžet na http://localhost:8080/spot-2.0-rcX (v případě problémů vyzkoušejte i http://localhost:8080/spot)
Retrieved from http://wiki.kiv.zcu.cz/SlovnikTerminologie/NasazeniAplikace
Content last modified on 29 October 2013, 16:44