En este manual se describe el proceso de configuración y despliegue de una aplicación escrita en grails framework usando jenkins y tomcat como webserver.

Configuración de tomcat

Para la integración de las aplicaciones es necesario realizar las siguientes configuraciones previas en tomcat:

Habilitar usuario para despliegue:

Es necesario habilitar un usuario que usará jenkins para el despliegue del war de la aplicación.

  • Editar el archivo conf/tomcat-users.xml y agregar las siguientes líneas dentro del tag <tomcat-users>:
<role rolename="manager-script"/>
<role rolename="admin-gui"/>
<user username="USUARIO" password="CONTRASEÑA" roles="manager-script, admin-gui"/>

Donde:

    • USUARIO: Es el usuario que se usará para realizar el despliegue
    • CONTRASEÑA: Es la contraseña a usar para el despliegue.
  • Editar el archivo webapps/manager/META-INF/context.xml y comentar la linea:
<Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1">

Manual de integración continua de grails usando jenkins

Configuración de jenkins

Configuraciones previas:

Es necesario contar con los siguientes plugins instalados:

  • Git plugin.
  • Deploy to container Plugin.
  • Copy Artifact Plugin.

Ir a Jenkins -> Manage Jenkins -> Global Tools Configuration y realizar las siguientes configuraciones:

En la sección JDK configurar el jdk 8 a usar para compilar el proyecto:

Manual de integración continua de grails usando jenkins

Proyectos:

El pipeline se dividirá en 2 tareas:

  • PROYECTO_build. Encargado de clonar el código y construirlo.
  • PROYECTO_DEPLOY: Encargado de desplegar proyecto generado por la tarea anterior.

PROYECTO_build:

  • Crear un item nuevo de tipo Freestyle con el nombre PROYECTO_build:

Manual de integración continua de grails usando jenkins

  • En la sección de general elegir la versión de jdk a utilizar:

Manual de integración continua de grails usando jenkins

  • En la sección SOURCE MANAGMENT configurar el acceso al repositorio de la aplicación:

Manual de integración continua de grails usando jenkins

Repository URL: La url de tu proyecto

Credentials: Usuario y contraseña con privilegios para clonar proyecto.

Branch: */master

  • En la sección Build Triggers elegir Poll SCM  y en schedule escribir * * * * *

Manual de integración continua de grails usando jenkins

  • En la sección Build agregar un paso “execute shell” con el siguiente comando:

./grailsw.sh prod war

Manual de integración continua de grails usando jenkins

  • En la sección Post Build agregar un paso Archive the artifacts y especificar:

**/*.war

Manual de integración continua de grails usando jenkins

  • Hacer click en save.

PROYECTO_deploy:

  • Crear un item nuevo de tipo Freestyle con el nombre PROYECTO_deploy:

Manual de integración continua de grails usando jenkins

  • En la sección Build Triggers seleccionar Build after other projects are built y proporcionar el nombre del nombre del proyecto de build:

PROYECTO_build

Manual de integración continua de grails usando jenkins

  • En la sección Build agregar un paso Copy artifacts from another project con los siguientes datos:
    • Project name: PROYECTO_build
    • Wich build: Latest successful build
    • Artifacts to copy: **/*.war

Manual de integración continua de grails usando jenkins

  • En la sección Post-build Actions agregar un paso Deploy war/ear to a container con los siguientes datos:
    • WAR/EAR files: **/*.war
    • Containers: Tomcat 8x Remote.
    • Nota. En esta sección se usan las credenciales configuradas en el archivo tomcat-users.xml de tomcat.

Manual de integración continua de grails usando jenkins

  • Hacer click en save.

Una vez concluida la configuración el proyecto se desplegará cada vez que exista algún cambio en el branch master del repositorio git.

Open chat
Envíanos un Whatsapp