infra: Actualización de .jar en Banner9 o Deploy de aplicaciones para QA y TRNG

Paso 1: Solicitud de actualización

  • Se recibe una solictud por servcios.una.ac.cr
  • Dentro de la solicitud debe venir un archivo adjunto
  • Por lo que debemos descargar el archivo
  • Ahora descomprimimos el archivo

Paso 2: Identificar el servidor a trabajar

  • Generalmente este procedimiento aplica para el servidor INBPROD o INBDESA o el servidor donde se encuentran las ADMINPAGES.
ServidorIP
INBPROD10.0.3.148
BANNER9INBT02DESA10.0.3.22
  • Nos conectamos al servidor
# ----------------------------
# Producción INBPROD
# ----------------------------
ssh 10.0.3.148 -l root

# ----------------------------
# Desarrollo BANNER9INBT02DESA
# ----------------------------
ssh 10.0.3.22 -l root

    NOTA

    • Para explicar donde se encuentran los achivos .jar a modificar
    • La ruta del TOMCAT para la aplicación se encuentra en
    # Producción
    cd /u01/app/tomcat/PROD
    
    # QA
    cd /u01/app/tomcat/QA19
    
    # TRNG
    cd /u01/app/tomcat/TRNG
    • Si ejecutamos el comando ls
    ls
    • Podemos observar la siguiente escrutura
    • La carpeta en al que debemos trabajar en la de nombre «webapps»
    • Aquí podemos observar que existe una carpeta «BannerAdmin.ws»
    • Y especificamente dentro de la ruta siguiente es donde vamos a encontrar los archivos .jar a actualizar
    # Produccion
    /u01/app/tomcat/PROD/webapps/BannerAdmin.ws/WEB-INF/lib/
    
    # QA
    /u01/app/tomcat/QA19/webapps/BannerAdmin.ws/WEB-INF/lib/
    
    # TRNG
    /u01/app/tomcat/TRNG/webapps/BannerAdmin.ws/WEB-INF/lib

    Paso 3: Detener el servicio TOMCAT

    • Para poder hacer la actualización del .jar primero debemos detener el servicio de tomcat
    • Para estos debemos ejecutar el siguiente comando (dentro de la carpeta de tomcat)
    # Producción
    cd /u01/app/tomcat/PROD/
    ./bin/shutdown.sh
    
    
    # QA
    cd /u01/app/tomcat/QA19/
    ./bin/shutdown.sh
    
    
    # TRNG
    cd /u01/app/tomcat/TRNG/
    ./bin/shutdown.sh
    • Resultado
    • Ahora debemos verificar que los procesos se hayan detenido correctamente
    # Producción
    ps -ef |grep PROD
    
    # QA
    ps -ef |grep QA19
    
    # TRNG
    ps -ef |grep TRNG
    • Resultado
    • Si el shutdown no detuvo el proceso debemos matarlo con el siguiente comando
    kill -9 Numero_PID
    • Se fue detenido de forma correcta observamos la siguiente salida de ejemplo

    Paso 4: Respaldo de Webapps

    • Para contar con un mecanismo de respaldo de la aplicación vamos a respaldar
    • Como paso adicional podemos eliminar versiones anteriores para librar espacio cuando nos indique que no se cuenta con espacio disponible
    • Por ejemplo si ingresamos a los directorios podemos consultar los respaldos anteriores
    # Producción
    ls /u01/app/tomcat/PROD
    
    # QA
    ls /u01/app/tomcat/QA19
    
    # TRNG
    ls /u01/app/tomcat/TRNG
    • Con el siguiente comando
    rm -rf webapps_01102024
    • Ahora realizamos el respaldo de la carpeta
    # Formato
    cp -pR webapps webapps_ddmmyyyy
    
    # Ejemplo
    cp -pR webapps webapps_02102024

    Paso 5: Subir la actualización del archivo

    • Ahora para subir los archivos al servidor debemos ubicarnos dentro de una terminal en la ruta donde se encuentra la actualización
    • Ahora ejecutamos el siguiente comando para subir el archivo
    # Producción
    scp *.jar root@10.0.3.148:/u01/app/tomcat/PROD/webapps/BannerAdmin.ws/WEB-INF/lib
    
    # QA
    scp *.jar root@10.0.3.22:/u01/app/tomcat/QA19/webapps/BannerAdmin.ws/WEB-INF/lib
    
    # TRNG
    scp *.jar root@10.0.3.22:/u01/app/tomcat/TRNG/webapps/BannerAdmin.ws/WEB-INF/lib
    • Resultado

    Paso 6: Levantar los servicios

    • Primero borramos los archivos temporales ubicandonos en las carpetas respectivas
    # Producción
    cd /u01/app/tomcat/PROD/
    rm -rf logs/* temp/* work
    
    # QA
    cd /u01/app/tomcat/QA19/
    rm -rf logs/* temp/* work
    
    # TRNG
    cd /u01/app/tomcat/TRNG/
    rm -rf logs/* temp/* work
    • Levantar el servicio
    # Producción
    cd /u01/app/tomcat/PROD/
    ./bin/startup.sh
    tail -f logs/catalina.out
    
    # QA
    cd /u01/app/tomcat/QA19/
    ./bin/startup.sh
    tail -f logs/catalina.out
    
    # TRNG
    cd /u01/app/tomcat/TRNG/
    ./bin/startup.sh
    tail -f logs/catalina.out
    • Resultado e startup
    Using CATALINA_BASE:   /u01/app/tomcat/QA19
    Using CATALINA_HOME:   /u01/app/tomcat/QA19
    Using CATALINA_TMPDIR: /u01/app/tomcat/QA19/temp
    Using JRE_HOME:        /usr/java/jdk1.8.0_131
    Using CLASSPATH:       /u01/app/tomcat/QA19/bin/bootstrap.jar:/u01/app/tomcat/QA19/bin/tomcat-juli.jar
    Using CATALINA_OPTS:   -Dlog4j.configuration=config.properties -Xmx12g -Xmx12g -Doracle.jdbc.autoCommitSpecCompliant=false
    Tomcat started.
    
      • Comienza a levatar los servicios
      • hasta que presente el siguiente resultado
      INFORMACIÓN [main] org.apache.catalina.startup.Catalina.start Server startup in 69524 ms

      Paso 6: Verificar los servicios

      • Para verificar los servcios lo podemos hacer con
      # Producción
      ps -ef |grep tomcat
      
      # QA
      ps -ef |grep QA19
      
      # TRNG
      ps -ef |grep TRNG
      • Resultado

      Posibles errores

      1. Doble tomcat

      • Si al ejecutar el comando
      ps -ef |grep QA19
      • Retorna doble tomcat
      • Eliminamos uno de los procesos
      kill -9 22642
      • Y volvemos a ejecutar
      ps -ef |grep QA19
      • Si elimino ambos debemos volver hacer el startup
      ./bin/startup.sh