Caso práctico: Configuración de la fase beta.
De Wiki de EGC
Revisión del 22:33 11 ene 2017 de Alemurrod (discusión | contribuciones)
Enunciado
Se pretende crear una tarea nueva en Jenkins de manera que cada vez que se detecten cambios en nuestro repositorio, se baje el código que existe en la rama develop actualmente, ejecute las acciones clean(borrar carpeta /target) compile(compilar) y war:war(empaquetar el proyecto en un archivo .war) y que seguidamente lo despliegue a un servidor en Tomcat.
Solución
Vamos a ir explicando paso a paso desde la creación de la tarea en Jenkins con imágenes:
1. Creación de la tarea
- Para crear la tarea, lo primero que haremos será iniciar sesión en Jenkins y seguidamente en la parte izquierda de la pantalla veremos una opción en la que dice "Nueva tarea".
- [imagen aquí]
- Seguidamente se nos abrirá una ventana como la siguiente en la que tendremos que especificar el nombre para la tarea, en este ejemplo usaremos "Agora US - Visualización G28 - Beta".
- [imagen aquí]
- Una vez hayamos rellenado el nombre que queramos haremos clic en "Ok" más abajo.
2. Configuración de la tarea
- 2.1. Configuración general
- Jenkins nos redirigirá automáticamente a la página donde configuraremos nuestra nueva tarea. Lo primero que podremos hacer será rellenar alguna información general para ésta, como por ejemplo una descripción y algunas opciones más. ::Nosotros hemos decidido activar las opciones de desechar ejecuciones antiguas para que no llegara el punto en el que se nos pueda ir de las manos con los logs. También tenemos activada la opción de GitHub project, que no es más que mera información para nuestra tarea, aquí no se especifica de donde se descargará el código.
- [imagen aquí]
- 2.2. Configurar el origen del código fuente
- Seguidamente, en el apartado "Configurar el origen del código fuente" es donde le detallaremos a Jenkins de dónde se descargará nuestro código fuente. En nuestro caso le definimos nuestro repositorio y le indicamos que la rama que se va a descargar va a ser la develop, ya que estamos creando la tarea para automatizar una versión beta.
- [imagen aquí]
- 2.2. Disparadores de ejecuciones
- Este apartado es importante, ya que definimos la manera en la que la tarea se va a ejecutar. Nosotros hemos montado un servidor casero redirigiendo el tráfico de nuestro router a nuestra máquina virtual, de manera que sea accesible desde Internet, de esta manera hemos podido hacer que GitHub nos pueda escuchar, y de esta manera, configurar la tarea para que se ejecute cada vez que vea cambios en nuestro repositorio en GitHub.
- [imagen aquí]
- Para que esto funcione, también tendremos que tocar en nuestro repositorio en GitHub, de manera que cuando GitHub detecte un cambio, envíe una petición a nuestro Jenkins para ejecutar la tarea.
- Nos dirigiremos a nuestro repositorio en GitHub, y nos iremos al apartado Settings
- Seguidamente, en el menú de la izquierda haremos clic en Integrations and services y haremos clic en Add service. Se nos abrirá un deplegable en el que buscaremos Jenkins (Git plugin) y haremos clic sobre él.
- [imagen aquí]
- Por último colocaremos la URL de nuestro Jenkins terminada en /github-webhook/