お使いの GitHub Enterprise Server インスタンス で GitHub Packages を有効にして設定する前に、サードパーティのストレージ ソリューションを準備する必要があります。
MinIO は、Enterprise で S3 API と GitHub Packages をサポートするオブジェクトストレージを提供します。
このクイックスタートでは、Docker を使用して GitHub Packages で使用するように MinIO をセットアップする方法を説明していますが、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 を実行します。
-
単一のホストで Docker を使用して MinIO を実行します。
$ 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 クイックスタート ガイド」を参照してください。
-
Docker をクラスタとして使用して MinIO を実行します。 この MinIO デプロイメントでは、複数のホストと MinIO のイレイジャーコーディングを使用して、最強のデータ保護を実現します。 クラスター モードで MinIO を実行するには、「分散 MinIO クイック スタート ガイド」を参照してください。
-
3. GitHub Packages の MinIO バケットを作成する
-
MinIO クライアントをインストールします。
docker pull minio/mc
-
GitHub Enterprise Server がアクセスできるホスト URL を使用してバケットを作成します。
-
ローカルデプロイメントの例:
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 のストレージの設定を完了するには、MinIO ストレージ URL をコピーする必要があります。
echo "http://${MINIO_ACCESS_KEY}:${MINIO_SECRET_KEY}@minioclustername.example.com:9000"
次の手順については、「MinIO で GitHub Packages を有効にする」を参照してください。