Прежде чем включить и настроить GitHub Packages на экземпляр GitHub Enterprise Server, необходимо подготовить решение для хранения сторонних производителей.
MinIO предлагает хранилище объектов с поддержкой API S3 и GitHub Packages на предприятии.
В этом кратком руководстве показано, как настроить MinIO с помощью Docker для использования с GitHub Packages, но у вас кроме Docker существуют другие варианты управления MinIO. Дополнительные сведения о MinIO см. официальные документы MinIO.
1. Выберите режим MinIO для ваших потребностей
Режим MinIO | Оптимизировано для | Требуемая инфраструктура хранилища |
---|---|---|
Автономная minIO (на одном узле) | Быстрая настройка | Нет данных |
Кластерное MinIO (также называется распределенный MinIO) | Безопасность данных | Работающие в кластерах серверы серверов хранилищ |
Дополнительные сведения о ваших параметрах см. в официальных документах MinIO.
2. Установка, запуск и вход в MinIO
-
Настройте предпочитаемые переменные среды для MinIO.
В этих примерах используется
MINIO_DIR
:export MINIO_DIR=$(pwd)/minio mkdir -p $MINIO_DIR
-
Установите MinIO.
docker pull minio/minio
Дополнительные сведения см. в официальном руководстве по началу работы с MinIO.
-
Войдите в MinIO с помощью ключа доступа и секрета 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)
Доступ к ключам MinIO можно получить с помощью переменных среды:
echo $MINIO_ACCESS_KEY echo $MINIO_SECRET_KEY
-
Запустите MinIO в выбранном режиме.
-
Запустите MinIO с помощью Docker на одном узле:
$ 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
Дополнительные сведения см. в кратком руководстве по MinIO Docker.
-
Запустите MinIO с помощью Docker в качестве кластера. В этом развертывании MinIO используется несколько узлов и стирание кода MinIO для наиболее надежной защиты данных. Сведения о запуске MinIO в режиме кластера см. в статье Краткое руководство по распределенной MinIO.
-
3. Создайте контейнер MinIO для GitHub Packages
-
Установите клиент MinIO.
docker pull minio/mc
-
Создайте контейнер с URL-адресом узла, доступ к которому может получить доступ GitHub Enterprise Server.
-
Пример локальных развертываний:
export MC_HOST_minio="http://${MINIO_ACCESS_KEY}:${MINIO_SECRET_KEY} @localhost:9000" docker run minio/mc BUCKET-NAME
Этот пример можно использовать для автономной версии MinIO.
-
Пример кластерных развертываний:
export MC_HOST_minio="http://${MINIO_ACCESS_KEY}:${MINIO_SECRET_KEY} @minioclustername.example.com:9000" docker run minio/mc mb packages
-
Следующие шаги
Чтобы завершить настройку хранилища для GitHub Packages, необходимо скопировать URL-адрес хранилища MinIO:
echo "http://${MINIO_ACCESS_KEY}:${MINIO_SECRET_KEY}@minioclustername.example.com:9000"
Дальнейшие действия см. в разделе "Включение пакетов GitHub с использованием MinIO".