viernes, 16 de diciembre de 2016

¿Que co?? es Jenkins?

No tengo "npi" (ni puñetera idea) que es Jenkins. Así que agradezco la aportación de Ana M. del Carmen García Oterino, para ver si también me entero yo.

1. ¿Que es Jenkins?

  • Es un servidor de integración continua. (Y ¿?)
  • Es open source, y gratuito.
  • Es un "fork" de Hudson.
  • La base de Jenkins son las tareas.

2. ¿Que es la integració contínua?

  • Es una práctica de desarrollo de software donde los miembros del equipo conjuntan o integran su trabajo.
  • Como mínimo es una práctica diaria.
  • En cada integración o conjuntación se hace un build de forma automatizada.
  • En cada integración se oasan las pruebas y métricas de calidad para detectar errores y deficiencias lo antes posible.

3. ¿Que se consigue con la integración contínua?

  • Se puede saber el estado del software en cada momento.(sabedr que funciona y lo que no)
  • Monitorizar la calidad del código y su cobertura de pruebas.
  • Reducción de la deuda técnica, manteniendo costes bajos.

4. ¿Que permite hacer Jenkins?

  • Se puede programar una tarea para que compruebe el repositorio de control de versiones cada cierto tiempo y que cuando un desarrollador quiera subir su código al control de versiones, este código se compile y se ejecuten las pruebas.
  • Notificar al desarrollador o equipo de calidad si las pruebas no han sido satisfactorias.
  • Si el build es correcto, se puede indicar a Jenkins que intente integrar el código y subirlo al repositorio de control de versiones.
  • Permite integrar el código periódicamente.
  • Actua como herramienta de enlace en todo el proceso de desarrollo.
  • Lanzar métricas de calidad y evaluar los resultados.
  • Generar documentación del proyecto.
  • Pasar una version estable del código al departamento de calidad, a pre-producción o produccion

5. Prerequisos para utilizar Jenkins

  • Tener un repositorio de control de versiones (mercurial, git, svn, plastic,etc.)
  • Guardar en dicho repositorio las herramientas necesarias para hacer el build (código, scripts de test, librerías adjuntas,..)
  • El equipo debe estar mentalizado y comprmetido.

6. Disciplina

  • Todo el código debe subirse periódicamente al repositorio del control de versiones, por parte de los desarrolladores.
  • Los proyectos deben de tener un proceso de build automático.ç
  • Si un build falla, es prioridad absoluta arreglarlo

7. ¿Que puede pasar si no se utiliza Jenkins?

  • Se pueden multiplicar el número de personas que trabajan en un desarrollo de software.
  • Se puede perder el control del software (se encarece)
  • Se pueden perder las fuentes.
  • Reaparición de bugs que estaban reparados.
  • Trabajadores que no pueden programar mientras se los que "testers" prueban..
  • Disparar los costes de mantenimiento.
  • Aparición de múltiples versiones en producción, una para cada cliente.

8. Instalar Jenkins

Vamos a seguir el tutorial de Tutorials Point.
  • Vamos a la página de Jenkins y le damos al boton dowload (descargamos un war para ser desplegado en un Tomcat) También se puede ejecutar como standalone con "java -jar Jenkins.war ". Se puede acceder a él , por navegador con http://localhost:8080
  • Descargamos también Apache Maven para gestionar las dependencias
  • Descargamos tambien Git.
  • Primero instalamos it, después Maven, y por último Jenkins.
  • Hay que crear dar al PATH la ruta de Maven para poder ejecutarlo
  • Ejecutamos Jenkins, damos administrar, plugins, instalar e instalamos el plugin de GitHub.
  • Ahora vamos a Administrar Jenkins, configurar el sistema, donde configuraremos las rutas y variables para acceder al (1) JDK, (2) Git, (3) Maven, para indicar las rutas donde están instalados.

9. Crear tareas en Jenkins

  • Damos a crear tareas, le damos un nombre, y podemos decirle que es de tipo proyecto maven, pero le tendemos que dar la URL del repositorio Git, junto con las credenciales para acceder a él . Luego marcamos la casilla de "Build when a change is pushed to GitHub", y le indicamos la ruta al fichero pom.xml del repositorio. Le damos a Guardar
  • Una vez guardado, podemos decirle que "ejecute un comando posterior", y le indicamos el comando (shell), por ejemplo que copie el war generado del repositorio, a la carpeta de despliegue del servidor de aplicaciones.
  • Ahora le decimos "construir ahora" que es hacer un build y verificamos si copia el war a nuestro servidor.
  • Hay un historial de tareas, que dando un click sobre nuestra tarea aparece mas información.
  • Hay una opción en dicha tarea que es mostrar una consola para ver como se ejecuta las tarea.








No hay comentarios :

Publicar un comentario