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.

Esta versión de GitHub Enterprise se discontinuará el Esta versión de GitHub Enterprise se discontinuó el 2020-01-22. No se realizarán lanzamientos de patch, ni siquiera para problemas de seguridad críticos. Para obtener un mejor desempeño, más seguridad y nuevas características, actualiza a la última versión de GitHub Enterprise. Para obtener ayuda con la actualización, contacta al soporte de GitHub Enterprise.

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

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. Ensure Docker is installed locally.

  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:

    • Do not include leading directory paths of files within the tar archive, such as /path/to/chroot.
    • /bin/sh must exist and be executable, as the entry point into the chroot environment.
    • Unlike traditional chroots, the dev directory is not required by the chroot environment for pre-receive hooks.

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. In the upper-right corner of any page, click .

    Ícono de cohete para acceder a las configuraciones de administrador del sitio

  2. En la barra lateral izquierda, haz clic en Business.

    Pestaña de negocios en la configuración Site Admin

  3. Dentro del nombre de tu cuenta de empresa, haz clic en Settings (Parámetros).

    Pestaña de parámetros en la página de perfil de la cuenta de empresa

  4. En la barra lateral izquierda, haz clic en Hooks (Ganchos).

    Hooks tab in the business account settings sidebar

  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.

Pregunta a una persona

¿No puedes encontrar lo que estás buscando?

Contáctanos