Skip to main content

Acerca de ganchos de pre-recepción

Los ganchos de pre-recepción son scripts que se ejecutan en el dispositivo GitHub Enterprise Server que puedes usar para implementar controles de calidad.

Acerca de ganchos de pre-recepción

Cuando se produce una subida, cada script se ejecuta en un entorno aislado y puede realizar verificaciones en el contenido que se subió. Los scripts provocarán la aceptación de la subida si el estado de salida es 0, o rechazado si el estado de salida no es cero.

Usa los ganchos de pre-recepción para satisfacer las reglas comerciales, implementar el cumplimiento regulatorio y prevenir determinados errores comunes.

Ejemplos de cómo usar los ganchos de pre-recepción:

  • Requerir mensajes de confirmación para seguir un patrón o formato específico, como incluir un número de ticket válido o finalizar luego de una determinada duración.
  • Buscar una rama o repositorio al rechazar todas las subidas.
  • Impedir que los datos sensibles se agreguen al repositorio al bloquear las palabras clave, patrones o tipos de archivo.
  • Impedir que un autor PR se fusione con sus propios cambios.

Puede ver ejemplos de enlaces de recepción previa para GitHub Enterprise Server en el repositorio github/platform-samples.

Impactar en el rendimiento y los flujos de trabajo flujo de trabajo

El impacto que causa en los programadores y sus flujos de trabajo puede ser significativo y debe considerarse cuidadosamente. Los ganchos de pre-recepción que se basan en necesidades comerciales y se implementan cuidadosamente brindarán la mayor cantidad de beneficios a la organización en conjunto.

Los enlaces de recepción previa pueden tener efectos imprevistos en el rendimiento de tu instancia de GitHub Enterprise Server y se deben implementar y revisar con atención.

Debido al riesgo de error e impacto en el rendimiento de todos los usuarios de la instancia, se recomienda lo siguiente.

  • Evita las solicitudes de API dentro de un gancho de pre-recepción. En concreto, se desaconseja encarecidamente realizar solicitudes a servicios externos, que pueden tardar más tiempo y pueden afectar al rendimiento.
  • Evita las operaciones de Git de larga duración dentro de un gancho de pre-recepción. Si el gancho de pre-recepción realiza operaciones de Git dentro de repositorios grandes o muy activos, el rendimiento general de la instancia puede verse afectado negativamente.

Note

Para evitar el rechazo de un envío de cambios debido a un tiempo de expiración, todos los ganchos de pre-recepción combinados deben ejecutarse en menos de cinco segundos.