Entorn desenvolupament

Slides:



Advertisements
Presentaciones similares
TUTORIAL BÀSIC PER A LA GESTIÓ DE LA UBICACIÓ DE LES PERSONES EN L’APLICACIÓ DEL CATÀLEG D’ESPAIS SERVEI TÈCNIC I DE MANTENIMENT.
Advertisements

Campus Virtual.
Campus Virtual.
AIGUAMOLLS DE L’ALT EMPORDÀ CdA Empúries.
BAIXAR MAPES DE L’ICC (INSTITUT CARTOGRÀFIC DE CATALUNYA)
Tema 6: L’ENERGIA.
Importar les notes al Campus Virtual
La Condició Física i les Qualitats Físiques Bàsiques
José Luis Molina Materiales proporcionados por Javier Ávila Molero
Google Scholar citations
PREZI Primers passos Davinia Alfonsin 4rt C Info. Tecnològica
Eines digitals TIC © McGraw-Hill.
Tema 2. DIVISIBILITAT.
AVALUAR-QUALIFICAR PER COMPETÈNCIES
Introducció de TEDIs (COACs) Versió 4.0
ESecretaria CB Montpedrós
PROJECTES: UN LLARG CAMÍ…
El mercat ELS NENS I NENES DE P-4.
PETITS REPORTERS Títol.
TREBALLEM EL SISTEMA SOLAR
Creació d’un mapa personalitzat
SIGUEM SOSTENIBLES.
Funcionament See Thecnical.
SISTEMA GESTOR D’EMPRESA D’EXCAVACIONS
Una forma fàcil d'obtenir algunes fórmules
Potències de nombres racionals
COM VIATJA EL SO? Nenes i nens de 4t de primària IEA Oriol Martorell
Aquí podreu buscar i escoltar música on-line
Tutorial TIMERIME.
HORT = TREBALL EN EQUIP - 4t
Tutorials Campus Virtual Càrrega automàtica d’alumnes
EL VALOR DE LA FELICITAT
WEBQUEST WEB...QUÈ ? Alumnes de l’Escola ESTEL VALLSECA.
Problema 1: Trobar la recta que passa pel punts A(2, -3) i B(-1, 3)
DIADA DE LA PAU A SJO.
Formació de títols propis
Pràctica amb RQDA.
EL COLOR BLAU.
El Programa Educatiu CLIC, OBERT i COL·LABORATIU
Objectiu Educatiu Trienni
QUARESMA UN TEMPS IMPORTANT, PER PREPARAR LA GRAN FESTA
1 La identificació com a usuari periodista es realitza la primera vegada introduint en el camp Usuario, la lletra E seguida dels vuit dígits del DNI.
HORT = TREBALL EN EQUIP - 4t
LA VIDA DE LES PERSONES.
Explicació de l’enunciat
Estructurant les aplicacions MVC JSTL Struts
LES XARXES LOCALS i els seus components.
TECNOLOGIA.
Projecte Gestió de precintes de vehicles
El repte d’incloure Recursos i estratègies
BIODIVERSITAT A L’HORT
Llorenç Seguí capllonch 11 de juny de 2018
BEGINNER EV3 PROGRAMMING Lesson
La imatge corporativa Una eina fonamental en l’actualitat
Passes a seguir per iniciar un nou curs acadèmic en el GestIB
Cant espiritual Joan Maragall.
Projecte Fi de Carrera - J2EE Alumne: Daniel Clemente Marcè
d’una xerrada de l’Eduard Sala que trobareu a
SISTEMA DUNAR.
Títol: Git, un sistema de gestió del codi per projectes de software
Reunió amb centres adscrits
Projecte: Videojocs.cat
EL QUADRAT LES MARIETES.
Presentacions automàtiques amb FotoAngelo
LES MÀQUINES.
Estils i Plantilles Ms Word.
Aquí podreu buscar i escoltar música on-line
AIGUAMOLLS DE L’ALT EMPORDÀ CdA Empúries.
Desenvolupament d'una aplicació web per a viatgers
AIGUAMOLLS DE L’ALT EMPORDÀ CdA Empúries.
Transcripción de la presentación:

Entorn desenvolupament Eclipse + Tomcat + Subversion + Maven

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

http://www.eclipse.org/downloads/

http://tomcat.apache.org/

Afegim el Tomcat a Eclipse

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

Plugin maven: m2e-wtp

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

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

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)

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

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ó

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

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

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

Ú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

Subversion a la FIB La FIB proporciona un servidor subversion https://svn.fib.upc.edu/svn/user.name Protegit i privat amb user/pass del Racó Possibilitat de compartir amb altres usuaris del Racó (companys de pràctiques) https://svn.fib.upc.edu/editarPermisos

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

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

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!

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

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

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

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

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

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!