このバージョンの GitHub Enterprise はこの日付をもって終了となりました: 2021-09-23. 重大なセキュリティの問題に対してであっても、パッチリリースは作成されません。 パフォーマンスの向上、セキュリティの改善、新機能のためには、最新バージョンのGitHub Enterpriseにアップグレードしてください。 アップグレードに関する支援については、GitHub Enterprise supportに連絡してください。

GitHub Packages の MinIO ストレージバケットを設定するためのクイックスタート

GitHub Packages で使用するためにカスタム MinIO ストレージバケットを設定します。

ノート: GitHub Packagesは現在GitHub Enterprise Server 2.22でベータです。 GitHub Enterprise Serverのインスタンスのベータに参加するには、サインアップフォームを使ってください。

GitHub Enterprise Server インスタンス で GitHub Packages を有効にして設定する前に、サードパーティのストレージソリューションを準備する必要があります。

MinIO は、Enterprise で S3 API と GitHub Packages をサポートするオブジェクトストレージを提供します。

このクイックスタートでは、Docker を使用して GitHub Packages で使用するように MinIO をセットアップする方法を説明していますが、Docker 以外に MinIO を管理するオプションがあります。 MinIO の詳細については、公式の MinIO ドキュメントを参照してください。

1. ニーズに合わせて MinIO モードを選択する

MinIO モード最適化対象必要なストレージインフラストラクチャ
スタンドアロン MinIO (シングルホスト)高速セットアップなし
NAS ゲートウェイとしての MinIONAS (ネットワーク接続ストレージ)NAS デバイス
クラスタ型 MinIO (分散型 MinIO)データセキュリティクラスタ内で実行中のストレージサーバー

オプションの詳細については、公式の MinIO ドキュメントを参照してください。

2. MinIO をインストール、実行、サインインする

  1. MinIO のお好みの環境変数を設定します。

    これらの例では、MINIO_DIR を使用しています。

    $ export MINIO_DIR=$(pwd)/minio
    $ mkdir -p $MINIO_DIR
  2. MinIO をインストールします。

    $ docker pull minio/minio

    詳しい情報については、公式の MinIO クイックスタートガイドを参照してください。

  3. MinIO アクセスキーとシークレットを使用して MinIO にサインインします。

    $ export MINIO_ACCESS_KEY=$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 32 | head -n 1)
    # これは実際にはシークレットのため注意してください
    $ 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)
    # これは実際にはシークレットのため注意してください
    $ 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
  4. 選択したモードで 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 を NAS ゲートウェイとして使用して MinIO を実行します。

      この設定は、GitHub Packages のバックアップストレージとして使用する NAS がすでに存在するデプロイメントに役立ちます。

      $ 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

      詳しい情報については、NAS 用の MinIO ゲートウェイを参照してください。

    • Docker をクラスタとして使用して MinIO を実行します。 この MinIO デプロイメントでは、複数のホストと MinIO のイレイジャーコーディングを使用して、最強のデータ保護を実現します。 MinIO をクラスタモードで実行するには、「分散型 MinIO クイックスタートガイド」を参照してください。

3. GitHub Packages の MinIO バケットを作成する

  1. MinIO クライアントをインストールします。

    $ docker pull minio/mc
  2. GitHub Enterprise Server がアクセスできるホスト URL を使用してバケットを作成します。

    • ローカルデプロイメントの例:

      $ export MC_HOST_minio="http://${MINIO_ACCESS_KEY}:${MINIO_SECRET_KEY} @localhost:9000"
      $ docker run minio/mc BUCKET-NAME

      この例は、MinIO スタンドアロンまたは NAS ゲートウェイとしての 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 を有効にする」を参照してください。

問題がまだ解決していませんか?