Ganchos en Despliegues

Hook o Webhook, en español “Gancho” es un procedimiento de inserción de código en alguna operación estándar para aplicar alguna personalización en el despliegue. Esta funcionalidad en la plataforma de Elasticserver PaaS le permite ejecutar sus scripts personalizados antes y / o después de la operación de implementación o despliegue de la aplicación. Por lo tanto, para el  nodo de compilación Maven y el servidor de aplicaciones Golang, los enlaces de compilación previos y posteriores al proyecto se pueden configurar adicionalmente.

A continuación, examinaremos cómo operar con ganchos en Elasticserver PaaS y presentaremos una descripción general de varios casos de uso comunes con instrucciones paso a paso para las que esta funcionalidad puede ser útil:

 

Gestión de Ganchos

Como parte del proceso de implementación, los ganchos están disponibles dentro de una sección expandible del formulario de tablero apropiado. Entonces, para administrar ganchos, acceda al diálogo de implementación de la aplicación utilizando una de las siguientes opciones:

  • Gerente de implementación

  • Botón de implementaciones para un servidor de aplicaciones

1. Dentro del marco abierto, elija el tipo de origen de implementación preferido y expanda la sección Ganchos .

Aquí, haga clic en el botón Pre Post para proporcionar su código, que se ejecutará respectivamente justo antes / inmediatamente después de la implementación (de acuerdo con la opción elegida).

2. Ingrese el código de enlace requerido dentro de la ventana abierta del editor. Aquí, puede usar cualquier lenguaje de programación preferible, solo asegúrese de que el intérprete de código apropiado ya esté instalado en el contenedor de destino (ya sea que usted mismo lo haya instalado previamente o esté incluido en la compilación de pila predeterminada)

Consejo:  Dentro del panel superior, tiene acceso a las siguientes herramientas para ayudarlo durante la edición del código:

  • Ajustar líneas  : frena el texto para continuar en la línea de abajo si llega al borde del marco
  • Buscar  : permite encontrar fácilmente la información necesaria; se suministra con las  opciones adicionales de búsqueda de mayúsculas  y de  expresiones regulares
  • Ayuda  : redirige al documento actual para obtener detalles sobre el uso correcto de los ganchos

Haga clic en Aplicar cuando esté listo. Ahora puede implementar su aplicación.

3. Después de la implementación exitosa, puede hacer clic en el botón Mostrar registros dentro de la notificación del tablero que aparece para ver la respuesta detallada sobre las operaciones realizadas:

Nota:  en caso de que algo salga mal durante la ejecución del enlace, recibirá la notificación correspondiente, mientras que el proceso de implementación se cancelará:

Haga clic en el   botón Mostrar registros para obtener los detalles del error ocurrido al ver el registro de acciones de implementación (que corresponde al   archivo hooks.log , al que se puede acceder a  través de la   sección Registros para el servidor apropiado)

Casos de usos de ganchos

Los ganchos brindan una amplia gama de oportunidades para los desarrolladores, lo que permite automatizar la mayoría de los procesos de rutina para obtener una aplicación lista para trabajar justo después de la implementación.
Como ejemplo, a continuación hemos reunido una serie de las tareas más comunes que podrían ser programadas para ser realizadas automáticamente por ganchos:

  • Ganchos previos a la implementación (es decir, realizados antes de la implementación real de la aplicación)
    • para verificar si se cumplen todos los requisitos
    • para preinstalar el software requerido
    • para borrar o preparar una carpeta dedicada para archivos de aplicación
    • para registrar datos
  • Despliegue posterior (una vez finalizado el despliegue)
    • reiniciar su servidor de aplicaciones después de la implementación
    • instalar dependencias de proyecto
    • para aplicar cualquier otra personalización preferida
    • para registrar datos

A continuación, proporcionamos un ejemplo simple de la creación de su propio archivo de registro con la ayuda de ganchos.

1. Inicie la implementación de su proyecto de cualquier forma preferible. Utilizaremos el archivo HelloWorld.zip predeterminado de un administrador de implementación.

2. Expanda la sección Ganchos , haga clic en el gancho Pre y proporcione el siguiente código dentro del editor abierto:

1
2
3
4
echo "$(date) - deployment start" >> ~/mylog
if ! grep -q "$(pwd)/mylog" /etc/jelastic/redeploy.conf; then
    echo "$(pwd)/mylog" >> /etc/jelastic/redeploy.conf
fi

Esto agregará una cadena al archivo mylog (se creará automáticamente en el directorio de inicio, si no existe), que identificará el inicio de la implementación y proporcionará la marca de tiempo adecuada. Además, verificamos si el archivo redeploy.conf incluye nuestro archivo de registro personalizado y, si no, agregamos la línea apropiada, de tal manera que se mantendrá después de la operación de redistribución del contenedor .

3. Para el enlace Post, agregue el siguiente código:

echo "$(date) - deployment end" >> ~/mylog

Consejo:  Si es necesario, puede usar el   comando de salida que permite romper el gancho y la ejecución apropiada de la operación de implementación / construcción en cualquier momento. Con esto, el   valor 0 (es decir, la  salida 0 ) se utiliza para indicar el éxito, mientras que cualquier otro valor supone un error (por ejemplo, la  salida 1 ).

Aquí, solo registramos el final de nuestra implementación.


4. Por último, implementar la aplicación y comprobar tanto mylog  y redeploy.conf archivo para verificar ganchos ejecución exitosa.

Como puede ver, nuestros scripts han funcionado según lo previsto, proporcionando el tiempo de inicio / finalización de la implementación y asegurando que esté protegido durante la operación de redespliegue.

Si tiene algún problema mientras trabaja con ganchos, no dude en solicitar la asistencia de nuestros expertos técnicos en  Stackoverflow .