Bevor du GitHub Packages auf deine GitHub Enterprise Server-Instanz aktivieren und konfigurieren kannst, musst du deine Drittanbieter-Speicherlösung vorbereiten.
MinIO bietet Objektspeicher, der die S3-API und GitHub Packages für dein Unternehmen unterstützen.
In diesem Schnellstart wird gezeigt, wie du MinIO mithilfe von Docker für die Verwendung mit GitHub Packages einrichten kannst. Du kannst MinIO neben Docker auch mit anderen Programmen verwalten. Weitere Informationen zu MinIO findest du in der offiziellen Dokumentation zu MinIO.
1. Wähle einen MinIO-Modus für deine Anforderungen aus.
MinIO-Modus | Optimiert für | Speicherinfrastruktur erforderlich |
---|---|---|
Eigenständige MinIO-Instanz (auf einem einzelnen Host) | Schnelle Einrichtung | Nicht zutreffend |
Gruppierte MinIO-Instanz (auch als „Distributed MinIO“ bezeichnet) | Datensicherheit | Speicherserver, die auf einem Cluster ausgeführt werden |
Weitere Informationen zu den Optionen findest du in der offiziellen Dokumentation zu MinIO.
2. Installiere MinIO, führe es aus, und melde dich an.
-
Richte deine bevorzugten Umgebungsvariablen für MinIO ein.
In diesem Beispiel wird
MINIO_DIR
verwendet:export MINIO_DIR=$(pwd)/minio mkdir -p $MINIO_DIR
-
Installiere MinIO.
docker pull minio/minio
Weitere Informationen findest du im offiziellen Schnellstartleitfaden zu MinIO.
-
Melde dich mit deinem Zugriffsschlüssel und dem Geheimnis bei MinIO an.
$ 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)
Du kannst mithilfe der Umgebungsvariablen auf deine MinIO-Schlüssel zugreifen:
echo $MINIO_ACCESS_KEY echo $MINIO_SECRET_KEY
-
Führe MinIO im ausgewählten Modus aus.
-
Führe MinIO mit Docker als einzelnen Host aus:
$ 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
Weitere Informationen findest du unter Schnellstartleitfaden für MinIO in Docker.
-
Führe MinIO mit Docker als Cluster aus. Diese MinIO-Bereitstellung verwendet mehrere Hosts und das Erasure Coding von MinIO, um den besten Datenschutz zu gewährleisten. Weitere Informationen zum Ausführen von MinIO in einem Clustermodus findest du im Schnellstartleitfaden für Distributed MinIO.
-
3. Erstelle deinen eigenen MinIO-Bucket für GitHub Packages.
-
Installiere den MinIO-Client.
docker pull minio/mc
-
Erstelle einen Bucket mit einer Host-URL, auf die GitHub Enterprise Server zugreifen kann.
-
Hier findest du ein Beispiel für lokale Bereitstellungen:
export MC_HOST_minio="http://${MINIO_ACCESS_KEY}:${MINIO_SECRET_KEY} @localhost:9000" docker run minio/mc BUCKET-NAME
Dieses Beispiel kann für eigenständige MinIO-Instanzen verwendet werden.
-
Hier findest du ein Beispiel für gruppierte Bereitstellungen:
export MC_HOST_minio="http://${MINIO_ACCESS_KEY}:${MINIO_SECRET_KEY} @minioclustername.example.com:9000" docker run minio/mc mb packages
-
Nächste Schritte
Um das Konfigurieren des Speichers für GitHub Packages abzuschließen, musst du die MinIO-Speicher-URL kopieren:
echo "http://${MINIO_ACCESS_KEY}:${MINIO_SECRET_KEY}@minioclustername.example.com:9000"
Die nächsten Schritte findest du unter Aktivieren von GitHub-Paketen mit MinIO.