Esta versão do GitHub Enterprise foi descontinuada em 2021-09-23. Nenhum lançamento de patch será feito, mesmo para questões críticas de segurança. Para obter melhor desempenho, melhorar a segurança e novos recursos, upgrade to the latest version of GitHub Enterprise. Para ajuda com a atualização, contact GitHub Enterprise support.

Guia de início rápido para configurar o seu bucket de armazenamento de MinIO para o GitHub Packages

Configure seu bucket de armazenamento do MinIO personalizado para uso com GitHub Package Registry.

Observação: GitHub Package Registry está atualmente em beta para GitHub Enterprise Server 2.22. Para participar da versão beta de sua instância do GitHub Enterprise Server, use o formulário de inscrição.

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 MinIOOtimizado paraInfraestrutura de armazenamento necessária
MinIO independente (em um único host)Configuração rápidaN/A
MinIO como um gateway NASNAS (Armazenamento de rede)Dispositivos NAS
MinIO agrupado (também denominado MinIO Distribuído)Segurança de dadosServidores 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

  1. Configure suas variáveis de ambiente preferidas para o MinIO.

    Estes exemplos usam MINIO_DIR:

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

    $ docker pull minio/minio

    Para obter mais informações, consulte o "Guia do início rápido do MinIO".

  3. 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
  4. 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

  1. Instalar o cliente do MinIO.

    $ docker pull minio/mc
  2. 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".