1 / 26

Entorn desenvolupament

Entorn desenvolupament. Eclipse + Tomcat + Subversion + Maven. Com volem el nostre entorn ?. Volem entorn per poder desevolupar còmodament aplicacions web Java

sorena
Download Presentation

Entorn desenvolupament

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Entorndesenvolupament Eclipse + Tomcat + Subversion + Maven

  2. Comvolem el nostreentorn? • Volementorn per poder desevoluparcòmodamentaplicacions web Java • Volem que siguifàcil poder construir i empaquestar les aplicacions, sensenecessitar el IDE que fem servir per programar • Volem poder emmagatzemar el codifont de forma que tinguem un control de versions

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

  4. http://tomcat.apache.org/

  5. Afegim el Tomcat a Eclipse

  6. Tomcat + Eclipse • Li diem a Eclipse onestà el Tomcat • Eclipse crea un projecte Servers • Podem parar-lo i engegar-lo a la pestanya servers • Veiemelslogs en consola • Eclipse permetafegir i treure al Tomcatprojectes de tipus web

  7. Pluginmaven: m2e-wtp

  8. QuèésMaven? • És una eina per gestionar el cicle de vida d’unprojecte Java • Línia de comandes • Semblant al “make”, pero mésdeclaratiu • Declarem en un fitxer les característiques del projecte i en base a aixosap que ha de fer • Proporciona una forma unificada de construir un projecte i unsestàndars

  9. Nomenclatura de Maven • Artifacts • Son elsprojectes 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 llibreriesmésutilitzades • Repositori local ondeixaelsnostresartifacts

  10. Cicle de vida de projecte - Obtenirdependències, Compilar el codi, copiar elsfitxers de recursos… compile test - Passarelsjocs 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 repositoriremot (no confondreambferdeploy a Tomcat)

  11. Estructura de directorisestàndar /src/ /main/ projectepropiament /java/ fitxers per compilar /resources/ fitxers no compilables /test/ tests del projecte /java/ /resources/ /target/ fitxerscompilats i paquets /pom.xml

  12. Pom.xml • Fitxerondefinim el projecte • Grup, ID i versió per definir el artifact • Dependènciesd’altresllibreries • Pluginsaddicionals que puguinecessitar i en quina fase del cicle de vida s’utilitzen • Ex: excutarl’aplicació en un Tomcat • Perfils • Ex: versio de desenvolupament / producció

  13. Dependències • És la característica mésimportant de Maven • Al pom.xml declaremelsartifactsdels que depen el nostreprojecte • Maven va a buscar-los al seurepositori i elsdeixa al repositori local • Es baixal’arbrecomplet de dependències de forma automàtica

  14. I que pinta Eclipse aquí? • Plugin que inclouMaven • Crea elsprojectesambl’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 projecteMaven de tipus web • Maven-webapp-archetype • Dependències: • json-lib, per parsejar el fitxer • JSTL, per la pàginaon es mostrarà • servlet-api-2.5, pelTomcat

  16. Últimpas: Subversion • Permettreball en equip sobre un mateixprojecte, mantenintversions • Cal un plugin a eclipse • Eclipse marketplace: subclipse • Per compartir un projecte • Team > Share Project, seleccionar SVN • Especificar un repositori • Pugem el projecte al nostrerepositori

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

  18. Operacionsbàsiques • Update • Obtéelsúltimscanvis que s’hanfet • Fer-hosempreabans de començar a treballar • Ensassegurem de tenir una versió “fresca” ambelsúltimscanvis • Commit • Enviaelscanvis al servidor • Deixa posar un comentari. Es una bona pràctica • Checkout / import • Baixar un projecte / importar-lo

  19. Convencionsdel repositori • trunk • Es ontenim la versió principal del nostreprojecte • Compila i funciona (i si no, no s’hauria de pujar) • tags • Una carpeta per cada versió • Permetfer un “update” del codi a una versió • branches • Son branques ambdesenvolupaments “a mitges” • Un copprovades, es fa un “merge” amb el trunk

  20. Concurrència • Quèpassa si dos persones editen el mateixfitxer al mateixtemps? • Usuari 1: update i edita el aules.jsp • Usuari 2: update i editar el aules.jsp • Usuari 1: commitdelscanvis • Usuari 2: commitdelscanvis • Si no han tocatexactament la mateixalínia, es fa un mergedels 2 fitxers. • Si han tocat el mateix: conflicte!

  21. Línia de comandes • Maven i SVN tenenlinia de comandes • Podem alternar l’us desde dintred’Eclipse i des de fora (com a moltfem un “refresh”) • Mavenpermet en linia de comandes cridar a plugins per fermoltesmés coses • Des d’eclipse es pot pero s’han de crear “runconfigurations” i no és tan àgil

  22. Traientsuc a l’entornmuntat… • Executarl’aplicaciómaven en un Tomcat propi, nomésambMaven • MvnTomcat:run • Enviar l’aplicació a un Tomcatremotutilitzant el Tomcat Manager • Primer configurem el pom.xml • Mvntomcat:deploy –Pdev • Mvntomcat:deploy -Pprod

  23. Traientméssuca l’entornmuntat… • Crear una versió: canviar el pom.xml, pujar la versió al SVN i crear un tag • Mvnrelease:prepare • Mvnrelease:perform • Fer un web amb la informacióbàsica del projecte: javadocs, anàlisis del codi… • Mvnsite:site

  24. Integraciócontínua • Quanalgú puja codi al subversion… • Baixa el codi del repositori • Compila (ambMaven no cal Eclipse!) • Passaelstestos • Si algo falla, envia un mail • A les nits (nightlybuild) • Baixem el que hi ha al repositori • Construimel projecte i el deixempúblic • Generem informes

  25. Quèméspodriemfer • Mantenir un ranking de les persones que han pujatméscodi • Mantenir un ranking de qui ha fet petar mésvegades la compilació • Publicar automàticamentl’aplicació • Executartestosméscomplicats • Pujar l’aplicació a un servidor de prova • Passar un test de càrrega

  26. Conclusions • Mavenensajuda a organitzar el nostreprojecte i a que poguem construir-lo desde linia de comandes • Eclipse enspermetfacilmenttreballarambMaven, no hem de triar un o altre • Des d’eclipsepodemgestionar el nostrecodi a Subversion • … si hotenimtot, podemtenirmajordom!

More Related