Chuck's Academy

Git Hooks and Automation

Git Hooks del Lado del Cliente

En esta sección, nos centraremos en los Git Hooks del lado del cliente, que se activan en la máquina del usuario local y se ejecutan en diferentes etapas del flujo de trabajo de Git, como antes de hacer un commit, un push o realizar otras acciones locales. Estos hooks permiten automatizar tareas de validación, formateo de código, ejecución de pruebas y mucho más.

Tipos de Hooks del Lado del Cliente

A continuación, se describen algunos de los hooks del lado del cliente más importantes, junto con ejemplos prácticos de cómo se pueden utilizar.

Pre-commit

El hook pre-commit se ejecuta antes de que se realice un commit. Este hook es útil para validar el código, ejecutar pruebas o verificar el formato antes de permitir el commit.

Ejemplo: Verificación del Formato de Código con pre-commit

Supongamos que queremos asegurarnos de que el código cumple con un conjunto de reglas de estilo antes de hacer un commit. Podemos usar herramientas como eslint para JavaScript y configurar un script de pre-commit.

  1. Crea el archivo .git/hooks/pre-commit y añade el siguiente script:

    bash
  2. Haz que el script sea ejecutable:

    bash

Commit-msg

El hook commit-msg se ejecuta después de que se ha ingresado el mensaje de commit, pero antes de que el commit se haya completado. Se utiliza generalmente para validar o modificar el mensaje del commit.

Ejemplo: Validación del Formato del Mensaje de Commit

Queremos asegurarnos de que cada mensaje de commit tenga un formato específico, por ejemplo, que incluya un ID de tarea.

  1. Crea el archivo .git/hooks/commit-msg y añade el siguiente script:

    bash
  2. Haz que el script sea ejecutable:

    bash

Pre-push

El hook pre-push se ejecuta antes de que los commits sean enviados al repositorio remoto. Este hook es útil para ejecutar pruebas de integración u otras verificaciones que deben realizarse antes de compartir los cambios.

Ejemplo: Ejecución de Pruebas Automatizadas con pre-push

Podemos usar el hook pre-push para asegurarnos de que todas las pruebas automatizadas pasen antes de permitir el push.

  1. Crea el archivo .git/hooks/pre-push y añade el siguiente script:

    bash
  2. Haz que el script sea ejecutable:

    bash

Post-commit

El hook post-commit se ejecuta después de que se ha realizado un commit. Se puede utilizar para tareas como el envío de notificaciones o la actualización de sistemas de seguimiento de tareas.

Ejemplo: Notificación de Commit con post-commit

Podemos configurar un script de post-commit para enviar una notificación por correo electrónico después de cada commit.

  1. Crea el archivo .git/hooks/post-commit y añade el siguiente script:

    bash
  2. Haz que el script sea ejecutable:

    bash

Personalización y Mantenimiento de los Hooks del Lado del Cliente

Con un poco de scripting, puedes personalizar estos hooks para adaptarse a las necesidades específicas de tu proyecto. Asegúrate de mantener actualizados los scripts de hooks y de compartir las configuraciones relevantes con tu equipo para garantizar la consistencia en el flujo de trabajo.

Tips para el Mantenimiento

  1. Documentación: Documenta tus scripts de hooks para que otros miembros del equipo puedan comprender y mantenerlos.
  2. Pruebas: Prueba regularmente tus scripts de hooks para asegurarte de que funcionan como se espera.
  3. Actualizaciones: Revisa y actualiza los hooks según sea necesario para adaptarse a los cambios en el flujo de trabajo del proyecto.

En la siguiente sección, exploraremos los Git Hooks del lado del servidor y cómo pueden ser utilizados para asegurar y automatizar tareas en el servidor remoto.

¡Continuemos!


Ask me anything