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.
Aviso: O MinIO anunciou a remoção dos Gateways do MinIO. A partir de 1 de junho, 2022, o suporte e correções de erros para a implementação atual do MinIO NAS Gateway só estará disponível para clientes pagos por meio do contrato de suporte do LTS. Se você deseja continuar usando MinIO Gateways com GitHub Package Registry, nós recomendamos a transferência para o suporte do MinIO LTS. Para obter mais informações, consulte Remoção agendada do MinIO Gateway para o GCS, Azure, HDFS no repositório minio/minio.
Os outros modos do MinIO permanecem disponíveis com suporte padrão.
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".