Antes de que puedas habilitar y configurar el Registro del paquete de GitHub en tu instancia de servidor de GitHub Enterprise, deberás preparar tu solución de almacenamiento externo.
MinIO ofrece almacenamiento de objetos con soporte para la API de S3 y para Registro del paquete de GitHub en tu empresa.
Esta guía de inicio rápido te muestra cómo configurar MinIO utilizando Docker para usarlo con el Registro del paquete de GitHub, peto tienes otras opciones para administrar MinIO aparte de Docker. Para obtener más información acerca de MinIO, consulta los documentos oficiales de MinIO.
1. Elige un modo de MinIO de acuerdo con tus necesidades
Modo de MinIO | Optimizado para | Infraestructura de almacenamiento requerida |
---|---|---|
MinIO Autónomo (en un solo host) | Configuración rápida | N/A |
MinIO como una puerta de enlace de NAS | NAS (Almacenamiento adjunto a la red, por sus siglas en inglés) | Dispositivos NAS |
MinIO Agrupado (también conocido como MinIO distribuído) | Seguridad de datos | Servidores de almacenamiento que se ejecutan en un agrupamiento |
Para obtener más información acerca las opciones que tienes, consulta los documentos oficiales de MinIO.
2. Instala, ejecuta e inicia sesión en MinIO
-
Configura tus variables de ambiente preferidas para MinIO.
Estos ejemplos utilizan
MINIO_DIR
:$ export MINIO_DIR=$(pwd)/minio $ mkdir -p $MINIO_DIR
-
Instala MinIO.
$ docker pull minio/minio
Para obtener más información, consulta la Guía de inicio rápido oficial de MinIO".
-
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
-
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 obtener más información, consulta la "Guía de inicio rápido de Docker para 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 Registro del paquete de GitHub.
$ 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
Para obtener más información, consulta la sección "Puerta de enlace de MinIO para NAS".
-
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 agrupamiento, consulta la "Guía Rápida para MinIO Distribuído.
-
3. Crea tu bucket de MinIO para Registro del paquete de GitHub
-
Instala el cliente de MinIO.
$ docker pull minio/mc
-
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 Registro del paquete de GitHub, necesitarás copiar la URL de almacenamiento de MinIO:
echo "http://${MINIO_ACCESS_KEY}:${MINIO_SECRET_KEY}@minioclustername.example.com:9000"
Para los pasos siguientes, consulta la sección "Habilitar el Registro del paquete de GitHub con MinIO".