Frecuentemente publicamos actualizaciones de nuestra documentación. Es posible que la traducción de esta página esté en curso. Para conocer la información más actual, visita la documentación en inglés. Si existe un problema con las traducciones en esta página, por favor infórmanos.

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.

En este artículo

¿Te ayudó este documento?

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.

  1. Asegúrate de que Docker se instaló localmente.

  2. Crea el archivo Dockerfile.alpine-3.3 que contiene esta información:

    FROM gliderlabs/alpine:3.3
    RUN apk add --no-cache git bash
    
  3. 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
  4. Crea un contenedor:

    $ docker create --name pre-receive.alpine-3.3 pre-receive.alpine-3.3 /bin/true
  5. Exporta el contenedor Docker a un archivo tar comprimido como gzip:

    $ docker export pre-receive.alpine-3.3 | gzip > alpine-3.3.tar.gz

    Este archivo alpine-3.3.tar.gz está listo para subirse al aparato del Servidor de GitHub Enterprise.

Crear un entorno de gancho de pre-recepción mediante chroot

  1. Crea un entorno chroot en Linux.

  2. Crea un archivo tar comprimido como gzip del directorio chroot.

    $ 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/sh debe 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.

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

  1. En la esquina superior derecha de cualquier página, da clic en .
    Ícono de cohete para acceder a las configuraciones de administrador del sitio
  2. En la barra lateral izquierda, haga clic en Enterprise.
    Pestaña de Enterprise en la configuración Site Admin
  3. En la barra lateral de la cuenta de empresa, haz clic en Settings (Configuraciones).
    Pestaña Settings (Configuraciones) en la barra lateral de la cuenta de empresa
  4. Debajo de " Configuraciones", haz clic en Hooks (Ganchos).
    Pestaña Hooks (Ganchos) en la barra lateral de parámetros de la cuenta de empresa
  5. Haz clic en Manage environments (Administrar entornos).
    Administrar entornos
  6. Haz clic en Add environment (Agregar entorno).
    Agregar entorno
  7. Escribe el nombre que desees en el campo Environment name (Nombre del entorno).
    Nombre del entorno
  8. Escribe la URL del archivo *.tar.gz que contiene tu entorno.
    Cargar un entorno desde una URL
  9. Haz clic en Add environment (Agregar entorno).
    Agregar el botón de entorno

Cargar un entorno de pre-recepción mediante el shell administrativo

  1. Carga un archivo *.tar.gz legible que contenga tu entorno a un host web y copia la URL o transfiere el archivo al aparato del Servidor de GitHub Enterprise mediante scp. Al usar scp, es posible que necesites ajustar los permisos del archivo *.tar.gz para que todos puedan leerlo.

  2. Conecta con el shell administrativo.

  3. Usa el comando ghe-hook-env-create y 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.gz que 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.

¿Te ayudó este documento?