Chuck's Academy

Git Hooks y Automatización

Ejemplos Prácticos de Pre-push Hooks

En esta sección, exploraremos algunos ejemplos prácticos de cómo usar el hook pre-push para automatizar tareas importantes antes de que los commits sean enviados al repositorio remoto. Estos ejemplos te ayudarán a asegurarte de que el código cumple con ciertos estándares y pasa las pruebas necesarias antes de ser compartido con los demás.

Ejemplo 1: Ejecución de Pruebas Automatizadas

Antes de enviar los cambios al repositorio remoto, es una buena práctica ejecutar pruebas automatizadas para asegurarse de que no se introduzcan errores.

Configuración del Hook

  1. Crea el archivo .git/hooks/pre-push con el siguiente contenido:

    bash
  2. Haz que el script sea ejecutable:

    bash

Ejemplo 2: Verificación de Cobertura de Pruebas

Asegurarse de que el código tenga una cobertura adecuada de pruebas es crucial para mantener la calidad. Podemos configurar un hook pre-push para verificar la cobertura de las pruebas antes de permitir el push.

Configuración del Hook

  1. Configura la herramienta de cobertura de pruebas en tu proyecto (por ejemplo, jest con la opción --coverage).

  2. Crea el archivo .git/hooks/pre-push con el siguiente contenido:

    bash
  3. Haz que el script sea ejecutable:

    bash

Ejemplo 3: Verificación de Dependencias de Seguridad

Es importante verificar que no existan vulnerabilidades en las dependencias del proyecto antes de enviar los cambios. Podemos usar herramientas como npm audit para esta tarea.

Configuración del Hook

  1. Crea el archivo .git/hooks/pre-push con el siguiente contenido:

    bash
  2. Haz que el script sea ejecutable:

    bash

[Placeholder para imagen: Captura de pantalla de la salida de npm audit en un terminal]

Ejemplo 4: Validación de Formato de Código

Asegurarnos de que el código esté formateado correctamente antes de enviarlo al repositorio remoto es otra buena práctica. Podemos usar Prettier para esta tarea.

Configuración del Hook

  1. Instala Prettier en tu proyecto si no lo has hecho ya:

    bash
  2. Crea el archivo .git/hooks/pre-push con el siguiente contenido:

    bash
  3. Haz que el script sea ejecutable:

    bash

[Placeholder para imagen: Ejemplo de Prettier señalando problemas de formato en el código]

Ejemplo 5: Verificación de Archivos Modificados

Podemos asegurarnos de que no se envíen archivos indeseados o de gran tamaño en el push. Esta verificación puede adoptar muchas formas, desde evitar archivos binarios no deseados hasta límites de tamaño de archivos.

Configuración del Hook

  1. Crea el archivo .git/hooks/pre-push con el siguiente contenido:

    bash
  2. Haz que el script sea ejecutable:

    bash

Personalización de Hooks

Al igual que con los hooks pre-commit, puedes combinar varias tareas en un mismo hook pre-push para ajustar los procesos de validación según las necesidades de tu proyecto.

Ejemplo Combinado de Hook Pre-push

Combina varias validaciones en un solo script pre-push:

bash

Recuerda siempre hacer que el script sea ejecutable:

bash

En la siguiente sección, veremos cómo integrar herramientas de CI/CD con Git Hooks para mejorar aún más el flujo de trabajo y la automatización.

¡Continuemos!


Pregúntame lo que sea