La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Entorn desenvolupament

Presentaciones similares


Presentación del tema: "Entorn desenvolupament"— Transcripción de la presentación:

1 Entorn desenvolupament
Eclipse + Tomcat + Subversion + Maven

2 Com volem el nostre entorn?
Volem entorn per poder desevolupar còmodament aplicacions web Java Volem que sigui fàcil poder construir i empaquestar les aplicacions, sense necessitar el IDE que fem servir per programar Volem poder emmagatzemar el codi font de forma que tinguem un control de versions

3

4

5 Afegim el Tomcat a Eclipse

6 Tomcat + Eclipse Li diem a Eclipse on està el Tomcat
Eclipse crea un projecte Servers Podem parar-lo i engegar-lo a la pestanya servers Veiem els logs en consola Eclipse permet afegir i treure al Tomcat projectes de tipus web

7 Plugin maven: m2e-wtp

8 Què és Maven? És una eina per gestionar el cicle de vida d’un projecte Java Línia de comandes Semblant al “make”, pero més declaratiu Declarem en un fitxer les característiques del projecte i en base a aixo sap que ha de fer Proporciona una forma unificada de construir un projecte i uns estàndars

9 Nomenclatura de Maven Artifacts Archetypes Repositoris
Son els projectes que gestiona Maven Definits per grup, id i versió Archetypes Son esquelets de projecte. Per exemple, una aplicació normal o una aplicació web. Repositoris Maven té un repositori central amb les totes les versions de les llibreries més utilitzades Repositori local on deixa els nostres artifacts

10 Cicle de vida de projecte
- Obtenir dependències, Compilar el codi, copiar els fitxers de recursos… compile test - Passar els jocs de prova (JUnit) i aturar el procés si no es passen package - Generar el paquet del projecte (jar, war…), o sigui, el “artifact” install - Copiar el artifact val repositori local deploy - Copiar el artifact al repositori remot (no confondre amb fer deploy a Tomcat)

11 Estructura de directoris estàndar
/src/ /main/ projecte propiament /java/ fitxers per compilar /resources/ fitxers no compilables /test/ tests del projecte /java/ /resources/ /target/ fitxers compilats i paquets /pom.xml

12 Pom.xml Fitxer on definim el projecte
Grup, ID i versió per definir el artifact Dependències d’altres llibreries Plugins addicionals que pugui necessitar i en quina fase del cicle de vida s’utilitzen Ex: excutar l’aplicació en un Tomcat Perfils Ex: versio de desenvolupament / producció

13 Dependències És la característica més important de Maven
Al pom.xml declarem els artifacts dels que depen el nostre projecte Maven va a buscar-los al seu repositori i els deixa al repositori local Es baixa l’arbre complet de dependències de forma automàtica

14 I que pinta Eclipse aquí?
Plugin que inclou Maven Crea els projectes amb l’estructura de directoris de maven i el pom.xml Al revés, genera la configuració de Eclipse a partir d’un pom.xml Eclipse crida a maven per les tasques de compilació i per gestionar les dependències Resultat: tenim un projecte Eclipse + Maven

15 Exemple: Places lliures
Farem una pàgina que crida la URL que retorna les places lliures a les aules de la FIB en format JSON. Crearem un projecte Maven de tipus web Maven-webapp-archetype Dependències: json-lib, per parsejar el fitxer JSTL, per la pàgina on es mostrarà servlet-api-2.5, pel Tomcat

16 Últim pas: Subversion Permet treball en equip sobre un mateix projecte, mantenint versions Cal un plugin a eclipse Eclipse marketplace: subclipse Per compartir un projecte Team > Share Project, seleccionar SVN Especificar un repositori Pugem el projecte al nostre repositori

17 Subversion a la FIB La FIB proporciona un servidor subversion
Protegit i privat amb user/pass del Racó Possibilitat de compartir amb altres usuaris del Racó (companys de pràctiques)

18 Operacions bàsiques Update Commit Checkout / import
Obté els últims canvis que s’han fet Fer-ho sempre abans de començar a treballar Ens assegurem de tenir una versió “fresca” amb els últims canvis Commit Envia els canvis al servidor Deixa posar un comentari. Es una bona pràctica Checkout / import Baixar un projecte / importar-lo

19 Convencions del repositori
trunk Es on tenim la versió principal del nostre projecte Compila i funciona (i si no, no s’hauria de pujar) tags Una carpeta per cada versió Permet fer un “update” del codi a una versió branches Son branques amb desenvolupaments “a mitges” Un cop provades, es fa un “merge” amb el trunk

20 Concurrència Què passa si dos persones editen el mateix fitxer al mateix temps? Usuari 1: update i edita el aules.jsp Usuari 2: update i editar el aules.jsp Usuari 1: commit dels canvis Usuari 2: commit dels canvis Si no han tocat exactament la mateixa línia, es fa un merge dels 2 fitxers. Si han tocat el mateix: conflicte!

21 Línia de comandes Maven i SVN tenen linia de comandes
Podem alternar l’us desde dintre d’Eclipse i des de fora (com a molt fem un “refresh”) Maven permet en linia de comandes cridar a plugins per fer moltes més coses Des d’eclipse es pot pero s’han de crear “run configurations” i no és tan àgil

22 Traient suc a l’entorn muntat…
Executar l’aplicació maven en un Tomcat propi, només amb Maven Mvn Tomcat:run Enviar l’aplicació a un Tomcat remot utilitzant el Tomcat Manager Primer configurem el pom.xml Mvn tomcat:deploy –Pdev Mvn tomcat:deploy -Pprod

23 Traient més suc a l’entorn muntat…
Crear una versió: canviar el pom.xml, pujar la versió al SVN i crear un tag Mvn release:prepare Mvn release:perform Fer un web amb la informació bàsica del projecte: javadocs, anàlisis del codi… Mvn site:site

24 Integració contínua Quan algú puja codi al subversion…
Baixa el codi del repositori Compila (amb Maven no cal Eclipse!) Passa els testos Si algo falla, envia un mail A les nits (nightly build) Baixem el que hi ha al repositori Construim el projecte i el deixem públic Generem informes

25 Què més podriem fer Mantenir un ranking de les persones que han pujat més codi Mantenir un ranking de qui ha fet petar més vegades la compilació Publicar automàticament l’aplicació Executar testos més complicats Pujar l’aplicació a un servidor de prova Passar un test de càrrega

26 Conclusions Maven ens ajuda a organitzar el nostre projecte i a que poguem construir-lo desde linia de comandes Eclipse ens permet facilment treballar amb Maven, no hem de triar un o altre Des d’eclipse podem gestionar el nostre codi a Subversion … si ho tenim tot, podem tenir majordom!


Descargar ppt "Entorn desenvolupament"

Presentaciones similares


Anuncios Google