Antes de que puedas habilitar y configurar el GitHub Packages en tu instancia de GitHub Enterprise Server, deberás preparar tu solución de almacenamiento de terceros.
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 MinIO | Optimizado para | Infraestructura de almacenamiento requerida |
---|---|---|
MinIO Autónomo (en un solo host) | Configuración rápida | No aplicable |
MinIO Agrupado (también conocido como MinIO distribuído) | Seguridad de los datos | Servidores de almacenamiento que se ejecutan en un agrupamiento |
Para más información sobre las opciones, vea la documentación oficial de MinIO.
2. Instalación, ejecución e inicio de sesión en MinIO
-
Configura tus variables de ambiente preferidas para MinIO.
En estos ejemplos se usa
MINIO_DIR
:export MINIO_DIR=$(pwd)/minio mkdir -p $MINIO_DIR
-
Instala MinIO.
docker pull minio/minio
Para más información, vea la "Guía de inicio rápido de MinIO" oficial.
-
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 más información, vea la "Guía de inicio rápido de Docker en MinIO".
-
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
-
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 se puede emplear para MinIO independiente.
-
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 conocer los pasos siguientes, consulta "Habilitar los GitHub Packages con MinIO".