Un entorno de pre-recepción para el Servidor de GitHub Enterprise es un entorno Linux chroot. Dado que los ganchos de pre-recepción se ejecutan en todos los eventos de extracción, deberían ser rápidos y livianos. Normalmente, el entorno necesario para tales verificaciones será mínimo.
El Servidor de GitHub Enterprise brinda un entorno predeterminado que incluye estos paquetes: awk,  bash, coreutils, curl, find, gnupg, grep, jq, sed.
Si tu entorno no cumple con uno de los requisitos específicos, como respaldo para un idioma en particular, puedes crear y cargar tu propio entorno chroot en Linux de 64 bits.
Crear un entorno de gancho de pre-recepción mediante Docker
Puedes usar una herramienta de administración de contenedores de Linux para crear un entorno de gancho de pre-recepción. Este ejemplo usa Alpine Linux y Docker.
- 
Asegúrate de que Docker se instaló localmente. 
- 
Crea el archivo Dockerfile.alpine-3.3que contiene esta información:FROM gliderlabs/alpine:3.3 RUN apk add --no-cache git bash
- 
Desde el directorio de trabajo que contiene Dockerfile.dev, crea una imagen:$ docker build -f Dockerfile.alpine-3.3 -t pre-receive.alpine-3.3 . > Sending build context to Docker daemon 12.29 kB > Step 1 : FROM gliderlabs/alpine:3.3 > ---> 8944964f99f4 > Step 2 : RUN apk add --no-cache git bash > ---> Using cache > ---> 0250ab3be9c5 > Successfully built 0250ab3be9c5
- 
Crea un contenedor: $ docker create --name pre-receive.alpine-3.3 pre-receive.alpine-3.3 /bin/true
- 
Exporta el contenedor Docker a un archivo tarcomprimido comogzip:$ docker export pre-receive.alpine-3.3 | gzip > alpine-3.3.tar.gzEste archivo alpine-3.3.tar.gzestá listo para subirse al aparato del Servidor de GitHub Enterprise.
Crear un entorno de gancho de pre-recepción mediante chroot
- 
Crea un entorno chrooten Linux.
- 
Crea un archivo tarcomprimido comogzipdel directoriochroot.$ cd /path/to/chroot $ tar -czf /path/to/pre-receive-environment.tar.gz .Notas: - No incluyas las rutas iniciales del directorio en los archivos dentro del tar, tales como /path/to/chroot.
- La ruta /bin/shdebe existir y ser ejecutable como punto de entrada al ambiente chroot.
- A diferencia de los chroots tradicionales, el ambiente de chroot para ganchos de pre-recepción no requiere el directorio dev.
 
- No incluyas las rutas iniciales del directorio en los archivos dentro del tar, tales como 
Para obtener más información acerca de la creación de un entorno chroot, consulta "Chroot" desde Debian Wiki, "BasicChroot" desde Ubuntu Community Help Wiki o "Instalar Alpine Linux en un chroot" desde Alpine Linux Wiki.
Cargar un entorno de pre-recepción en el Servidor de GitHub Enterprise
- En la esquina superior derecha de cualquier página, da clic en .  
- En la barra lateral izquierda, haga clic en Enterprise.  
- En la barra lateral de la cuenta de empresa, haz clic en  Settings (Configuraciones).  
- Debajo de " Configuraciones", haz clic en Hooks (Ganchos).  
- Haz clic en Manage environments (Administrar entornos).  
- Haz clic en Add environment (Agregar entorno).  
- Escribe el nombre que desees en el campo Environment name (Nombre del entorno).  
- Escribe la URL del archivo *.tar.gzque contiene tu entorno. 
- Haz clic en Add environment (Agregar entorno).  
Cargar un entorno de pre-recepción mediante el shell administrativo
- 
Carga un archivo *.tar.gzlegible que contenga tu entorno a un host web y copia la URL o transfiere el archivo al aparato del Servidor de GitHub Enterprise mediantescp. Al usarscp, es posible que necesites ajustar los permisos del archivo*.tar.gzpara que todos puedan leerlo.
- 
Conecta con el shell administrativo. 
- 
Usa el comando ghe-hook-env-createy escribe el nombre que desees para el entorno como primer argumento y la ruta local completa o la dirección URL de un archivo*.tar.gzque contenga tu entorno como segundo argumento.admin@ghe-host:~$ ghe-hook-env-create AlpineTestEnv /home/admin/alpine-3.3.tar.gz > Pre-receive hook environment 'AlpineTestEnv' (2) has been created.