Antes de poder habilitar e configurar GitHub Package Registry em sua instância do GitHub Enterprise Server, você deverá preparar sua solução de armazenamento de terceiros.
O MinIO oferece armazenamento de objetos com suporte para a API S3 e GitHub Package Registry na sua empresa.
Este início rápido mostra como configurar o MinIO usando o Docker para uso com GitHub Package Registry. No entanto, você tem outras opções para gerenciar o MinIO além do Docker. Para obter mais informações sobre o MinIO, consulte a Documentação oficial do MinIO.
1. Escolha um modo MinIO para suas necessidades
Modo MinIO | Otimizado para | Infraestrutura de armazenamento necessária |
---|---|---|
MinIO independente (em um único host) | Configuração rápida | N/A |
MinIO como um gateway NAS | NAS (Armazenamento de rede) | Dispositivos NAS |
MinIO agrupado (também denominado MinIO Distribuído) | Segurança de dados | Servidores de armazenamento em execução em um cluster |
Para obter mais informações sobre suas opções, consulte Documentação oficial do MinIO.
2. Instalar, executar e efetuar o login no MinIO
-
Configure suas variáveis de ambiente preferidas para o MinIO.
Estes exemplos usam
MINIO_DIR
:$ export MINIO_DIR=$(pwd)/minio $ mkdir -p $MINIO_DIR
-
Instalar MinIO.
$ docker pull minio/minio
Para obter mais informações, consulte o "Guia do início rápido do MinIO".
-
Efetue o login no MinIO usando sua chave e segredo de acesso do 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)
Você pode acessar suas chaves do MinIO usando as variáveis de ambiente:
$ echo $MINIO_ACCESS_KEY $ echo $MINIO_SECRET_KEY
-
Execute o MinIO no modo escolhido.
-
Execute o MinIO usando Docker em um único host:
$ 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 obter mais informações, consulte "Guia de início rápido do Docker do MinIO".
-
Executar o MinIO usando Docker como um gateway NAS:
Esta configuração é útil para implantações em que já existe um NAS que você deseja usar como armazenamento de backup para GitHub Package Registry.
$ 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 obter mais informações, consulte "Gateway do MinIO para NAS".
-
Executar o MinIO usando Docker como um cluster. Esta implantação do MinIO usa vários hosts e a codificação de eliminação do MinIO para uma proteção de dados mais forte. Para executar o MinIO em um modo de cluster, consulte o "Guia de início rápido do MinIO distribuído.
-
3. Crie o seu bucket do MinIO para GitHub Package Registry
-
Instalar o cliente do MinIO.
$ docker pull minio/mc
-
Criar um bucket com uma URL de host que GitHub Enterprise Server pode acessar.
-
Exemplo de implantação local:
$ export MC_HOST_minio="http://${MINIO_ACCESS_KEY}:${MINIO_SECRET_KEY} @localhost:9000" $ docker run minio/mc BUCKET-NAME
Este exemplo pode ser usado para MinIO independente ou MinIO como um gateway NAS.
-
Exemplo de implantações agrupadas:
$ export MC_HOST_minio="http://${MINIO_ACCESS_KEY}:${MINIO_SECRET_KEY} @minioclustername.example.com:9000" $ docker run minio/mc mb packages
-
Próximas etapas
Para concluir a configuração de armazenamento para GitHub Package Registry, você precisará copiar a URL de armazenamento do MinIO:
echo "http://${MINIO_ACCESS_KEY}:${MINIO_SECRET_KEY}@minioclustername.example.com:9000"
Para os próximos passos, consulte "Habilitar GitHub Package Registry com o MinIO".