Skip to main content

为 GitHub Packages 配置 MinIO 存储桶的快速入门

配置您的自定义 MinIO 存储桶,用于 GitHub Packages。

Platform navigation

在 你的 GitHub Enterprise Server 实例 上启用和配置 GitHub Packages 之前,需要准备第三方存储解决方案。

MinIO 在企业上提供对象存储并支持 S3 API 和 GitHub Packages。

此快速入门将演示如何使用 Docker 设置 MinIO 以与 GitHub Packages 使用,但除了 Docker 之外,您还有其他用于管理 MinIO 的选项。 有关 MinIO 的详细信息,请参阅官方 MinIO 文档

1. 根据需求选择 MinIO 模式

MinIO 模式优化对象需要存储基础架构
独立 MinIO(在单个主机上)快速设置不适用
群集式 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)
    # 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
    
  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 作为集群运行 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 单机版。

    • 集群部署示例:

      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”。