tag - github release notes
¿Cómo puedo agregar un gancho de git personalizado a un repositorio de GitHub Enterprise? (3)
He activado una instancia de GitHub Enterprise (11.10.272) y he creado un repositorio. He escrito un gancho pre-recepción en Ruby que me gustaría usar con ese repositorio.
GitHub Enterprise, como GitHub regular, permite la configuración de los ganchos de servicio. Traté de SSH en el servidor de GitHub Enterprise para crear un archivo de enlace, pero no pude encontrar el directorio de repositorio. Además, los términos de GitHub Enterprise prohíben modificar la máquina virtual, por lo que no estoy seguro de que este sea un gran enfoque.
Parece que GitHub: FI apoyó los ganchos. La versión actual de la herramienta de migración de FI a la empresa no admite en la actualidad los enganches de acuerdo con Migrating from GitHub: FI .
GitHub Enterprise parece almacenar repositorios en /data/repositories
. Cada repositorio tiene ganchos generados por una plantilla. Puedo modificar estos ganchos, pero eso seguramente rompería algo. Los ganchos de plantilla parecen buscar ganchos en otra ubicación, pero esa ubicación se define en config y no puedo encontrarla.
Basado en mi correo electrónico con la atención al cliente de GitHub, los ganchos de pre-recepción no son compatibles con GitHub Enterprise a partir de mayo de 2013.
No tenemos acceso de administrador en nuestro cuadro de GHE, por lo que no pudimos entrar y "arreglarlo" si quisiéramos.
Afirman que las cosas que hacen se romperían si pudieras rechazar commits. Supongo que se refieren a cosas como la fusión automática de solicitudes de extracción, pero no estoy seguro.
Tienen un amplio conjunto de webhooks posteriores a la confirmación que puede usar para la funcionalidad posterior a la confirmación.
Estoy buscando construir un "servidor de git pass-through": básicamente, sondear la API de GHE con frecuencia para hacer un clon local de cualquier repositorio que exista en ciertas cuentas de GHE, y luego clonarlo automáticamente con pre-recepción personalizada y ganchos post-recepción. Esto nos permitiría clonar el servidor de paso, hacer nuestros ganchos de pre-recepción allí, e impulsar los cambios aprobados a través de GHE. No parece haber ningún tipo de servidor de paso estándar para git por ahí, probablemente porque necesita saber qué repos para clonar, que no parece tener una API de git estándar.
Sé que esto es realmente viejo, pero GitHub Enterprise 2.6 acaba de salir con ganchos de pre-recepción. Se puede obtener más información aquí: https://help.github.com/enterprise/admin/guides/developer-workflow/using-pre-receive-hooks-to-enforce-policy/ .
Estoy bastante seguro de que esto se alineará perfectamente con las cosas que estás buscando. ¡Ojalá esto ayude a OP, o cualquier otra persona que se tropiece con esto más tarde!