Integración Continua
(Jenkins, Sonar,Maven)
rocimunoz@gmail.com https://www.linkedin.com/in/rociomp
@roci_munoz
ROCIO MUÑOZ PINEDO
rmpinedo@cic.es
21.10.15 Your name here (insert->page number) 2
INDICE
INTEGRACION CONTINUA:
 Qué es
 Problemas típicos en un proyecto
 Ejemplo de un entorno de IC (Maven, Sonar, Jenkins)
MAVEN
 Qué es Maven (repositorios, plugins, dependencias...)
 Instalación y ejemplos
SONAR
 Qué es Sonar
 Instalación y ejemplos
JENKINS
 Qué es Jenkins.
 Instalación y ejemplos
21.10.15 Your name here (insert->page number) 3
INTEGRACION CONTINUA
TE SUENAN ESTAS SITUACIONES ??
 En mi máquina funcionaba ...
 Pero si no he tocado esa función …
 Ese error ya lo corregí ...
 Funciona, pero no he hecho pruebas
 Se me olvidó subir los cambios ...
 La versión que se ha desplegado, no es la última
 En Internet Explorer no funciona …
 Será la caché del navegador ...
21.10.15 Your name here (insert->page number) 4
INTEGRACION CONTINUA
Y ESTOS ERRORES … ?
 NoClassDefFoundError
Problemas con el classpath
 StackOverflowError
Algo no va bien en la pila
 NullPointerException
Uff .. cualquier cosa ...
 ArrayIndexOutOfBoundsException
¿Cuantas posiciones tiene ese array?
 OutOfMemoryError
¿Sin memoria?, no es posible
 Java.net.SocketException
¿Por qué se cerró la conexión?
21.10.15 Your name here (insert->page number) 5
INTEGRACION CONTINUA
¿SOLUCION?
INTEGRACION
CONTINUA
21.10.15 Your name here (insert->page number) 6
INTEGRACION CONTINUA
¿Qué es la Integración Continua?
Martin Fowler:
“La integración continua es una práctica de
desarrollo de software en la cual los
miembros de un equipo integran su trabajo
frecuentemente, como mínimo de forma
diaria.
Cada integración se verifica mediante una
herramienta de construcción automática para
detectar los errores de integración tan
pronto como sea posible. ”
21.10.15 Your name here (insert->page number) 7
INTEGRACION CONTINUA
Problemas en equipos sin Integración Continua
 Problemas de compilación
Ej: Juan compila con Jdk 1.5, Alberto con Jdk 1.7
 Poca frecuencia de commits
No se suele subir el código al final del día
Se sube el código cuando está “estable”
 Escasa documentación
Muy poca gente documenta su código
Pérdida de tiempo con becarios o nuevos miembros
21.10.15 Your name here (insert->page number) 8
INTEGRACION CONTINUA
Problemas en equipos sin Integración Continua
 Errores en el paquete de instalación
Se genera el paquete al final del proyecto.
Se pierde mucho tiempo generando el paquete
Aparecen errores no contemplados
 Errores en el despliegue en servidor
No se despliega en servidor más que cuando se entrega el
proyecto.
Aparecen errores de espacio, de memoria, no se han
parametrizado bien las cosas
La máquina del usuario final no es como se pensaba
21.10.15 Your name here (insert->page number) 9
INTEGRACION CONTINUA
Entorno de Integracion Continua
Automatización de tareas usando Jenkins, Git, Sonar y Maven
21.10.15 Your name here (insert->page number) 10
MAVEN
21.10.15 Your name here (insert->page number) 11
MAVEN
MAVEN: QUE ES?
 Herramienta opensource para la gestión y construcción de un
proyecto Java.
 Capaz de gestionar un proyecto pasando por todas sus etapas
 Validacion
 Compilacion
 Empaquetar
 Testing
 Instalar
 Desplegar
21.10.15 Your name here (insert->page number) 12
MAVEN
MAVEN: Estructura Proyecto Maven
 Un proyecto Maven tiene siempre una estructura similar
 Necesita un fichero pom.xml
21.10.15 Your name here (insert->page number) 13
MAVEN
MAVEN: POM (Project Object Model)
El pom.xml es el elemento principal de un proyecto Maven
Se encuentra en la raíz del proyecto
Nos pemite gestionar:
 Configuración básica del proyecto
 Nombre
 Versión
 Propiedades del proyecto
 Dependencias(libs) del proyecto
Forma de buscar la librería en el repositorio de Maven
 Automatizar tareas
Construcción, empaquetado, despliegue ...
21.10.15 Your name here (insert->page number) 14
MAVEN
MAVEN: POM (Project Object Model)
21.10.15 Your name here (insert->page number) 15
MAVEN
MAVEN: POM (Project Object Model)
21.10.15 Your name here (insert->page number) 16
MAVEN
MAVEN: CICLO DE VIDA
 Un proyecto Maven sigue unas etapas básicas
 Compile: genera los .class del proyecto
 Test: Ejecuta los test
 Package: Genera el .jar
 Install: Copia el .jar a un directorio indicado
 Deploy: Copia el fichero .jar a un servidor remoto
 Se ejecutan con el comando
mvn <accion>
Cada etapa engloba a las anteriores
 Ejemplo mvn install
Se lanzarán compile, test, package, install
21.10.15 Your name here (insert->page number) 17
MAVEN
MAVEN: Uso de Plugins
 Maven-surefire-plugin
Permite lanzar los test unitarios
 Maven-failsafe-plugin
Permite lanzar los test integrados
 Jacoco-maven-plugin
Permite analizar la cobertura de código por los test ejecutados
 Sonar-maven-plugin
Integra cobertura de jacoco junto a otras métricas de calidad del
código
Podeis consultar la lista de plugins en
https://maven.apache.org/plugins/index.html
21.10.15 Your name here (insert->page number) 18
MAVEN
MAVEN: Repositorios locales y remotos
 Maven trabaja con un repositorio remoto en donde están
alojadas las dependencias del proyecto
http://mvnrepository.com/
 En el repositorio local se almacenan las descargas del repositorio
remoto. Es una carpeta oculta llamada .m2
Según el SO
$HOME/.m2 Linux→
C:/Documents and Settings/{nombre-usuario}/.m2 Windows→
~/.m2 Mac→
 Se puede cambiar en el fichero settings.xml
21.10.15 Your name here (insert->page number) 19
MAVEN
MAVEN: Ventajas de proyectos con Maven
 Ahorro de espacio en máquina local
Las librerías están centralizadas en un único punto (.m2)
 Ahorro de espacio en servidor de control de versiones
No se almacenan las librerías en el proyecto, solo sus dependencias
en el pom.xml
 Proyecto uniforme
Un proyecto Maven mantiene siempre la misma estructura.
Esto ayuda trabajando en equipo
 Plugins
Se pueden extender las tareas mediante plugins
21.10.15 Your name here (insert->page number) 20
MAVEN
MAVEN: Ventajas de proyectos con Maven
 Herencia en la configuración
Proyectos grandes pueden crearse mediante módulos y heredar una
configuración común
 Automatización de tareas
Permite automatizar tareas de empaquetado y despliegue y evitar
errores humanos
21.10.15 Your name here (insert->page number) 21
MAVEN
MAVEN: Inconvenientes de proyectos Maven
 Necesidad de red
Sin red no podemos descargar las librerías
 Dependencias transitivas
Excesivo número de librerías en el proyecto por depender unas de
otras
Ejemplo:
Al instalar junit4.11, se descarga junto a ella hamcrest-core-1.3.jar
21.10.15 Your name here (insert->page number) 22
MAVEN
MAVEN: Instalación
 Descargar Maven
https://maven.apache.org/
 Añadir carpeta bin al Path
Windows: c:apache-maven-3.0.5bin
Unix:
MAVEN_HOME="/home/user/Downloads/apache-maven-3.1.1"
export MAVEN_HOME PATH=$PATH:$MAVEN_HOME/bin
 Comprobar instalación
mvn -version
21.10.15 Your name here (insert->page number) 23
SONAR QUBE
21.10.15 Your name here (insert->page number) 24
SONAR
QUÉ ES SONAR
 Plataforma de software libre para evaluar código fuente
 Código duplicado
 Resultado de test
 Cobertura de código (Jacoco)
 Posibles errores
 Se integra con Maven y Jenkins
 Compatible con JDK a partir de 1.7
21.10.15 Your name here (insert->page number) 25
SONAR
ANALISIS SONAR
21.10.15 Your name here (insert->page number) 26
SONAR
ARQUITECTURA SONAR
21.10.15 Your name here (insert->page number) 27
SONAR
ARQUITECTURA SONAR
 Base de Datos
 Configuración de sonar
 Calidad de código de los proyectos
 Soporte para Mysql, Oracle, Postgress, SqlServer
 Analizadores
 Realizan las mediciones sobre el código
 Hay varios tipos de analizadores (SonarQubeRunner, Maven,
SonarAnt ...)
 Servidor Web
 Permite al usuario visualizar la calidad de su código
21.10.15 Your name here (insert->page number) 28
SONAR
INSTALACION SONAR
 Descarga Servidor Web SONAR QUBE
 http://www.sonarqube.org/downloads/
 Descomprimir el fichero zip
 Arrancar servidor web Sonar QUBE
 sh sonar.sh start Unix→
 startSonar.bat Windows→
 Url por defecto : http://localhost:9000
21.10.15 Your name here (insert->page number) 29
SONAR
INSTALACION SONAR
 Configuración BBDD
Creación de BBDD, usuario y permisos
CREATE DATABASE sonar CHARACTER SET utf8 COLLATE
utf8_general_ci;
CREATE USER 'sonar' IDENTIFIED BY 'sonar';
GRANT ALL ON sonar.* TO 'sonar'@'%' IDENTIFIED BY
'sonar';
GRANT ALL ON sonar.* TO 'sonar'@'localhost' IDENTIFIED
BY 'sonar';
FLUSH PRIVILEGES;
21.10.15 Your name here (insert->page number) 30
SONAR
INSTALACION SONAR
 Configuración parámetros Sonar
<install_directory>/conf/sonar.properties
sonar.jdbc.username=nombre_usuario
sonar.jdbc.password=password
sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar
21.10.15 Your name here (insert->page number) 31
SONAR
ADMINISTRACION DE SONAR
 Deuda Técnica
 Tiempo a invertir para corregir una carencia en el código
 Cuanto más pequeña sea mejor será la calidad del código
 SCALE Rating
 Transmite de forma rápida la calidad del proyecto asignándole
una categoria
 A: Deuda técnica <10%
 B: Entre el 10 y el 20%
 C: Entre el 21 y el 50%
 D: Entre el 51% y el 100%
 E: Superior al 100%
21.10.15 Your name here (insert->page number) 32
SONAR
ADMINISTRACION DE SONAR
21.10.15 Your name here (insert->page number) 33
SONAR
GESTION DE WIDGETS y PLUGINS
 Podemos personalizar el Dashboard con widgets
21.10.15 Your name here (insert->page number) 34
SONAR
INTEGRACIÓN MAVEN - SONAR
 Analizador Maven
 Añadimos configuración de sonar en el fichero settings.xml
 Añadimos plugin Sonar en el fichero pom.xml
21.10.15 Your name here (insert->page number) 35
JENKINS
21.10.15 Your name here (insert->page number) 36
JENKINS
QUÉ ES JENKINS
 Es un servidor opensource de integración continua escrito en Java
 Extensible mediante plugins
 Soporta herramientas de control de versiones (Git, Subversion..)
 Se integra facilmente con Maven y Sonar
21.10.15 Your name here (insert->page number) 37
JENKINS
INSTALACION JENKINS
 Descargar Jenkins
https://jenkins-ci.org/
 Hay 2 formas de instalar
 Como servicio/demonio
 Descarga .war y lanzar en un servidor ajeno (Tomcat)
 Url por defecto: http://localhost:8080
21.10.15 Your name here (insert->page number) 38
JENKINS
INSTALACION PLUGINS
 Menú Administrar Jenkins/Administrar Plugins
21.10.15 Your name here (insert->page number) 39
DEMO INTEGRACION CONTINUA
GESTION DE ALUMNOS
 Servidor Jenkins
 http://localhost:8080
 Servidor Sonar
 Http://localhost:9000
 Código fuente en Github
 https://github.com/rocimunoz/GestionAlumnos
21.10.15 Your name here (insert->page number) 40
DEMO INTEGRACION CONTINUA
Integración Continua
(Jenkins, Sonar,Maven)
rocimunoz@gmail.com https://www.linkedin.com/in/rociomp
@roci_munoz
ROCIO MUÑOZ PINEDO
rmpinedo@cic.es
CONCLUSIONES
 El coste incial del montaje es alto
 Nos permite ahorrar tiempo
 Nos permite reducir errores
 Dispondremos de métricas sobre nuestros proyectos
 Dispondremos de un histórico de ejecuciones
 Da seguridad al equipo de trabajo

Ic maven jenkins_sonar

  • 1.
    Integración Continua (Jenkins, Sonar,Maven) rocimunoz@gmail.comhttps://www.linkedin.com/in/rociomp @roci_munoz ROCIO MUÑOZ PINEDO rmpinedo@cic.es
  • 2.
    21.10.15 Your namehere (insert->page number) 2 INDICE INTEGRACION CONTINUA:  Qué es  Problemas típicos en un proyecto  Ejemplo de un entorno de IC (Maven, Sonar, Jenkins) MAVEN  Qué es Maven (repositorios, plugins, dependencias...)  Instalación y ejemplos SONAR  Qué es Sonar  Instalación y ejemplos JENKINS  Qué es Jenkins.  Instalación y ejemplos
  • 3.
    21.10.15 Your namehere (insert->page number) 3 INTEGRACION CONTINUA TE SUENAN ESTAS SITUACIONES ??  En mi máquina funcionaba ...  Pero si no he tocado esa función …  Ese error ya lo corregí ...  Funciona, pero no he hecho pruebas  Se me olvidó subir los cambios ...  La versión que se ha desplegado, no es la última  En Internet Explorer no funciona …  Será la caché del navegador ...
  • 4.
    21.10.15 Your namehere (insert->page number) 4 INTEGRACION CONTINUA Y ESTOS ERRORES … ?  NoClassDefFoundError Problemas con el classpath  StackOverflowError Algo no va bien en la pila  NullPointerException Uff .. cualquier cosa ...  ArrayIndexOutOfBoundsException ¿Cuantas posiciones tiene ese array?  OutOfMemoryError ¿Sin memoria?, no es posible  Java.net.SocketException ¿Por qué se cerró la conexión?
  • 5.
    21.10.15 Your namehere (insert->page number) 5 INTEGRACION CONTINUA ¿SOLUCION? INTEGRACION CONTINUA
  • 6.
    21.10.15 Your namehere (insert->page number) 6 INTEGRACION CONTINUA ¿Qué es la Integración Continua? Martin Fowler: “La integración continua es una práctica de desarrollo de software en la cual los miembros de un equipo integran su trabajo frecuentemente, como mínimo de forma diaria. Cada integración se verifica mediante una herramienta de construcción automática para detectar los errores de integración tan pronto como sea posible. ”
  • 7.
    21.10.15 Your namehere (insert->page number) 7 INTEGRACION CONTINUA Problemas en equipos sin Integración Continua  Problemas de compilación Ej: Juan compila con Jdk 1.5, Alberto con Jdk 1.7  Poca frecuencia de commits No se suele subir el código al final del día Se sube el código cuando está “estable”  Escasa documentación Muy poca gente documenta su código Pérdida de tiempo con becarios o nuevos miembros
  • 8.
    21.10.15 Your namehere (insert->page number) 8 INTEGRACION CONTINUA Problemas en equipos sin Integración Continua  Errores en el paquete de instalación Se genera el paquete al final del proyecto. Se pierde mucho tiempo generando el paquete Aparecen errores no contemplados  Errores en el despliegue en servidor No se despliega en servidor más que cuando se entrega el proyecto. Aparecen errores de espacio, de memoria, no se han parametrizado bien las cosas La máquina del usuario final no es como se pensaba
  • 9.
    21.10.15 Your namehere (insert->page number) 9 INTEGRACION CONTINUA Entorno de Integracion Continua Automatización de tareas usando Jenkins, Git, Sonar y Maven
  • 10.
    21.10.15 Your namehere (insert->page number) 10 MAVEN
  • 11.
    21.10.15 Your namehere (insert->page number) 11 MAVEN MAVEN: QUE ES?  Herramienta opensource para la gestión y construcción de un proyecto Java.  Capaz de gestionar un proyecto pasando por todas sus etapas  Validacion  Compilacion  Empaquetar  Testing  Instalar  Desplegar
  • 12.
    21.10.15 Your namehere (insert->page number) 12 MAVEN MAVEN: Estructura Proyecto Maven  Un proyecto Maven tiene siempre una estructura similar  Necesita un fichero pom.xml
  • 13.
    21.10.15 Your namehere (insert->page number) 13 MAVEN MAVEN: POM (Project Object Model) El pom.xml es el elemento principal de un proyecto Maven Se encuentra en la raíz del proyecto Nos pemite gestionar:  Configuración básica del proyecto  Nombre  Versión  Propiedades del proyecto  Dependencias(libs) del proyecto Forma de buscar la librería en el repositorio de Maven  Automatizar tareas Construcción, empaquetado, despliegue ...
  • 14.
    21.10.15 Your namehere (insert->page number) 14 MAVEN MAVEN: POM (Project Object Model)
  • 15.
    21.10.15 Your namehere (insert->page number) 15 MAVEN MAVEN: POM (Project Object Model)
  • 16.
    21.10.15 Your namehere (insert->page number) 16 MAVEN MAVEN: CICLO DE VIDA  Un proyecto Maven sigue unas etapas básicas  Compile: genera los .class del proyecto  Test: Ejecuta los test  Package: Genera el .jar  Install: Copia el .jar a un directorio indicado  Deploy: Copia el fichero .jar a un servidor remoto  Se ejecutan con el comando mvn <accion> Cada etapa engloba a las anteriores  Ejemplo mvn install Se lanzarán compile, test, package, install
  • 17.
    21.10.15 Your namehere (insert->page number) 17 MAVEN MAVEN: Uso de Plugins  Maven-surefire-plugin Permite lanzar los test unitarios  Maven-failsafe-plugin Permite lanzar los test integrados  Jacoco-maven-plugin Permite analizar la cobertura de código por los test ejecutados  Sonar-maven-plugin Integra cobertura de jacoco junto a otras métricas de calidad del código Podeis consultar la lista de plugins en https://maven.apache.org/plugins/index.html
  • 18.
    21.10.15 Your namehere (insert->page number) 18 MAVEN MAVEN: Repositorios locales y remotos  Maven trabaja con un repositorio remoto en donde están alojadas las dependencias del proyecto http://mvnrepository.com/  En el repositorio local se almacenan las descargas del repositorio remoto. Es una carpeta oculta llamada .m2 Según el SO $HOME/.m2 Linux→ C:/Documents and Settings/{nombre-usuario}/.m2 Windows→ ~/.m2 Mac→  Se puede cambiar en el fichero settings.xml
  • 19.
    21.10.15 Your namehere (insert->page number) 19 MAVEN MAVEN: Ventajas de proyectos con Maven  Ahorro de espacio en máquina local Las librerías están centralizadas en un único punto (.m2)  Ahorro de espacio en servidor de control de versiones No se almacenan las librerías en el proyecto, solo sus dependencias en el pom.xml  Proyecto uniforme Un proyecto Maven mantiene siempre la misma estructura. Esto ayuda trabajando en equipo  Plugins Se pueden extender las tareas mediante plugins
  • 20.
    21.10.15 Your namehere (insert->page number) 20 MAVEN MAVEN: Ventajas de proyectos con Maven  Herencia en la configuración Proyectos grandes pueden crearse mediante módulos y heredar una configuración común  Automatización de tareas Permite automatizar tareas de empaquetado y despliegue y evitar errores humanos
  • 21.
    21.10.15 Your namehere (insert->page number) 21 MAVEN MAVEN: Inconvenientes de proyectos Maven  Necesidad de red Sin red no podemos descargar las librerías  Dependencias transitivas Excesivo número de librerías en el proyecto por depender unas de otras Ejemplo: Al instalar junit4.11, se descarga junto a ella hamcrest-core-1.3.jar
  • 22.
    21.10.15 Your namehere (insert->page number) 22 MAVEN MAVEN: Instalación  Descargar Maven https://maven.apache.org/  Añadir carpeta bin al Path Windows: c:apache-maven-3.0.5bin Unix: MAVEN_HOME="/home/user/Downloads/apache-maven-3.1.1" export MAVEN_HOME PATH=$PATH:$MAVEN_HOME/bin  Comprobar instalación mvn -version
  • 23.
    21.10.15 Your namehere (insert->page number) 23 SONAR QUBE
  • 24.
    21.10.15 Your namehere (insert->page number) 24 SONAR QUÉ ES SONAR  Plataforma de software libre para evaluar código fuente  Código duplicado  Resultado de test  Cobertura de código (Jacoco)  Posibles errores  Se integra con Maven y Jenkins  Compatible con JDK a partir de 1.7
  • 25.
    21.10.15 Your namehere (insert->page number) 25 SONAR ANALISIS SONAR
  • 26.
    21.10.15 Your namehere (insert->page number) 26 SONAR ARQUITECTURA SONAR
  • 27.
    21.10.15 Your namehere (insert->page number) 27 SONAR ARQUITECTURA SONAR  Base de Datos  Configuración de sonar  Calidad de código de los proyectos  Soporte para Mysql, Oracle, Postgress, SqlServer  Analizadores  Realizan las mediciones sobre el código  Hay varios tipos de analizadores (SonarQubeRunner, Maven, SonarAnt ...)  Servidor Web  Permite al usuario visualizar la calidad de su código
  • 28.
    21.10.15 Your namehere (insert->page number) 28 SONAR INSTALACION SONAR  Descarga Servidor Web SONAR QUBE  http://www.sonarqube.org/downloads/  Descomprimir el fichero zip  Arrancar servidor web Sonar QUBE  sh sonar.sh start Unix→  startSonar.bat Windows→  Url por defecto : http://localhost:9000
  • 29.
    21.10.15 Your namehere (insert->page number) 29 SONAR INSTALACION SONAR  Configuración BBDD Creación de BBDD, usuario y permisos CREATE DATABASE sonar CHARACTER SET utf8 COLLATE utf8_general_ci; CREATE USER 'sonar' IDENTIFIED BY 'sonar'; GRANT ALL ON sonar.* TO 'sonar'@'%' IDENTIFIED BY 'sonar'; GRANT ALL ON sonar.* TO 'sonar'@'localhost' IDENTIFIED BY 'sonar'; FLUSH PRIVILEGES;
  • 30.
    21.10.15 Your namehere (insert->page number) 30 SONAR INSTALACION SONAR  Configuración parámetros Sonar <install_directory>/conf/sonar.properties sonar.jdbc.username=nombre_usuario sonar.jdbc.password=password sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar
  • 31.
    21.10.15 Your namehere (insert->page number) 31 SONAR ADMINISTRACION DE SONAR  Deuda Técnica  Tiempo a invertir para corregir una carencia en el código  Cuanto más pequeña sea mejor será la calidad del código  SCALE Rating  Transmite de forma rápida la calidad del proyecto asignándole una categoria  A: Deuda técnica <10%  B: Entre el 10 y el 20%  C: Entre el 21 y el 50%  D: Entre el 51% y el 100%  E: Superior al 100%
  • 32.
    21.10.15 Your namehere (insert->page number) 32 SONAR ADMINISTRACION DE SONAR
  • 33.
    21.10.15 Your namehere (insert->page number) 33 SONAR GESTION DE WIDGETS y PLUGINS  Podemos personalizar el Dashboard con widgets
  • 34.
    21.10.15 Your namehere (insert->page number) 34 SONAR INTEGRACIÓN MAVEN - SONAR  Analizador Maven  Añadimos configuración de sonar en el fichero settings.xml  Añadimos plugin Sonar en el fichero pom.xml
  • 35.
    21.10.15 Your namehere (insert->page number) 35 JENKINS
  • 36.
    21.10.15 Your namehere (insert->page number) 36 JENKINS QUÉ ES JENKINS  Es un servidor opensource de integración continua escrito en Java  Extensible mediante plugins  Soporta herramientas de control de versiones (Git, Subversion..)  Se integra facilmente con Maven y Sonar
  • 37.
    21.10.15 Your namehere (insert->page number) 37 JENKINS INSTALACION JENKINS  Descargar Jenkins https://jenkins-ci.org/  Hay 2 formas de instalar  Como servicio/demonio  Descarga .war y lanzar en un servidor ajeno (Tomcat)  Url por defecto: http://localhost:8080
  • 38.
    21.10.15 Your namehere (insert->page number) 38 JENKINS INSTALACION PLUGINS  Menú Administrar Jenkins/Administrar Plugins
  • 39.
    21.10.15 Your namehere (insert->page number) 39 DEMO INTEGRACION CONTINUA GESTION DE ALUMNOS  Servidor Jenkins  http://localhost:8080  Servidor Sonar  Http://localhost:9000  Código fuente en Github  https://github.com/rocimunoz/GestionAlumnos
  • 40.
    21.10.15 Your namehere (insert->page number) 40 DEMO INTEGRACION CONTINUA
  • 41.
    Integración Continua (Jenkins, Sonar,Maven) rocimunoz@gmail.comhttps://www.linkedin.com/in/rociomp @roci_munoz ROCIO MUÑOZ PINEDO rmpinedo@cic.es CONCLUSIONES  El coste incial del montaje es alto  Nos permite ahorrar tiempo  Nos permite reducir errores  Dispondremos de métricas sobre nuestros proyectos  Dispondremos de un histórico de ejecuciones  Da seguridad al equipo de trabajo