Skip to main content

Esta versión de GitHub Enterprise se discontinuó el 2022-10-12. No se realizarán lanzamientos de patch, ni siquiera para problemas de seguridad críticos. Para obtener rendimiento mejorado, seguridad mejorada y nuevas características, actualice a la versión más reciente de GitHub Enterprise. Para obtener ayuda con la actualización, póngase en contacto con el soporte técnico de GitHub Enterprise.

Guía de inicio rápido para configurar tu bucket de almacenamiento de MinIO para GitHub Packages

Configura tu bucket de almacenamiento de MinIO personalizado para utilizarlo con GitHub Packages.

Antes de que puedas habilitar y configurar el GitHub Packages en your GitHub Enterprise Server instance, deberás preparar tu solución de almacenamiento externo.

MinIO ofrece almacenamiento de objetos con soporte para la API de S3 y para GitHub Packages en tu empresa.

Esta guía de inicio rápido te muestra cómo configurar MinIO utilizando Docker para usarlo con el GitHub Packages, peto tienes otras opciones para administrar MinIO aparte de Docker. Para más información sobre MinIO, vea la documentación oficial de MinIO.

1. Elección de un modo de MinIO para las necesidades

Modo de MinIOOptimizado paraInfraestructura de almacenamiento requerida
MinIO Autónomo (en un solo host)Configuración rápidaN/D
MinIO como una puerta de enlace de NASNAS (Almacenamiento adjunto a la red, por sus siglas en inglés)Dispositivos NAS
MinIO Agrupado (también conocido como MinIO distribuído)Seguridad de los datosServidores de almacenamiento que se ejecutan en un agrupamiento

Para más información sobre las opciones, vea la documentación oficial de MinIO.

Advertencia: MinIO ha anunciado la eliminación de puertas de enlace de MinIO. A partir del 1 de junio de 2022, el soporte técnico y las correcciones de errores para la implementación actual de la puerta de enlace NAS de MinIO solo estarán disponibles para los clientes de pago a través de su contrato de soporte técnico LTS. Si quieres seguir usando puertas de enlace de MinIO con GitHub Packages, se recomienda pasar a la compatibilidad con MinIO LTS. Para más información, consulta Eliminación programada de la puerta de enlace MinIO para GCS, Azure, HDFS en el repositorio de minio/minio.

Otros modos de MinIO siguen estando disponibles con compatibilidad estándar.

2. Instalación, ejecución e inicio de sesión en MinIO

  1. Configura tus variables de ambiente preferidas para MinIO.

    En estos ejemplos se usa MINIO_DIR:

    $ export MINIO_DIR=$(pwd)/minio
    $ mkdir -p $MINIO_DIR
  2. Instala MinIO.

    $ docker pull minio/minio

    Para más información, vea la "Guía de inicio rápido de MinIO" oficial.

  3. Inicia sesión en MinIO utilizando tu llave de acceso y secreto de MinIO.

    $ export MINIO_ACCESS_KEY=$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 32 | head -n 1)
    # this one is actually a secret, so careful
    $ export MINIO_SECRET_KEY=$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 32 | head -n 1)
    $ export MINIO_ACCESS_KEY=$(cat /dev/urandom | LC_CTYPE=C tr -dc 'a-zA-Z0-9' | fold -w 32 | head -n 1)
    # this one is actually a secret, so careful
    $ export MINIO_SECRET_KEY=$(cat /dev/urandom | LC_CTYPE=C tr -dc 'a-zA-Z0-9' | fold -w 32 | head -n 1)

    Puedes acceder a tus llaves de MinIO utilizando las variables de ambiente:

    $ echo $MINIO_ACCESS_KEY
    $ echo $MINIO_SECRET_KEY
  4. Ejecuta MinIO en el modo que hayas elegido.

    • Ejecuta MinIO utilizando Docker en un host único:

      $ docker run -p 9000:9000 \
              -v $MINIO_DIR:/data \
              -e "MINIO_ACCESS_KEY=$MINIO_ACCESS_KEY" \
              -e "MINIO_SECRET_KEY=$MINIO_SECRET_KEY" \
              minio/minio server /data

      Para más información, vea la "Guía de inicio rápido de Docker en MinIO".

    • Ejecuta MinIO utilizando Docker como una puerta de enlace de NAS:

      Esta configuración es útil para los despliegues en donde ya exista una NAS que quieras utilizar como respaldo de almacenamiento para el GitHub Packages.

      $ docker run -p 9000:9000 \
              -v $MINIO_DIR:/data \
              -e "MINIO_ACCESS_KEY=$MINIO_ACCESS_KEY" \
              -e "MINIO_SECRET_KEY=$MINIO_SECRET_KEY" \
              minio/minio gateway nas /data
    • Ejecuta MinIO utilizando Docker como un agrupamiento. Este despliegue de MinIO utiliza diversos hosts y el código de borrado de MinIO para tener la mayor protección de los datos. Para ejecutar MinIO en modo de clúster, consulta la "Guía de inicio rápido de MinIO distribuido".

3. Creación del cubo de MinIO para GitHub Packages

  1. Instala el cliente de MinIO.

    $ docker pull minio/mc
  2. Crea un bucket con una URL de host a la que GitHub Enterprise Server pueda acceder.

    • Ejemplos de despliegues locales:

      $ export MC_HOST_minio="http://${MINIO_ACCESS_KEY}:${MINIO_SECRET_KEY} @localhost:9000"
      $ docker run minio/mc BUCKET-NAME

      Este ejemplo puede utilizarse para la versión autónoma de MinIO o para MinIO como puerta de enlace de NAS.

    • Ejemplo de despliegues en agrupamiento:

      $ export MC_HOST_minio="http://${MINIO_ACCESS_KEY}:${MINIO_SECRET_KEY} @minioclustername.example.com:9000"
      $ docker run minio/mc mb packages

Pasos siguientes

Para terminar de configurar el almacenamiento para el GitHub Packages, necesitarás copiar la URL de almacenamiento de MinIO:

echo "http://${MINIO_ACCESS_KEY}:${MINIO_SECRET_KEY}@minioclustername.example.com:9000"

Para obtenerlos pasos siguientes, vea "Habilitación de GitHub Packages con MinIO".