Crear un entorno de gancho de pre-recepción
Para ejecutar los ganchos de pre-recepción, usa el entorno de pre-recepción predeterminado o crea un entorno personalizado.
Un entorno de pre-recepción para Servidor de GitHub Enterprise es un entorno Linux chroot. Dado que los ganchos de pre-recepción ejecutan cada evento de extracción, deberían ser rápidos y livianos. El entorno necesario para tales verificaciones habitualmente será mínimo.
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.
En esta guía
- Crear un entorno de gancho de pre-recepción mediante Docker
- Crear un entorno de gancho de pre-recepción mediante chroot
- Cargar un entorno de pre-recepción en Servidor de GitHub Enterprise
- Cargar un entorno de pre-recepción mediante el shell administrativo
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.
-
[Verifica que Docker esté instalado] (https://www.docker.com/) de manera local.
-
Crea el archivo
Dockerfile.alpine-3.3que contiene esta información:FROM gliderlabs/alpine:3.3 RUN apk add --no-cache git bash -
From the working directory that contains
Dockerfile.alpine-3.3, build an image:$ 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 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:$ tar -czf pre-receive-environment.tar.gz /path/to/chrootFor more information about creating a chroot environment see "Chroot" from the Debian Wiki, "BasicChroot" from the Ubuntu Community Help Wiki, or "Installing Alpine Linux in a chroot" from the Alpine Linux Wiki.
Cargar un entorno de pre-recepción en Servidor de GitHub Enterprise
-
In the upper-right corner of any page, click .

-
In the left sidebar, click Business.

-
Under your business account's name, click Settings.

-
En la barra lateral izquierda, 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 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.