Informationen zu GitHub Packages
GitHub Packages ist eine Plattform zum hosten und verwalten von Paketen, einschließlich Containern und anderen Abhängigkeiten. GitHub Packages kombiniert deinen Quellcode und deine Pakete an einem Ort, um eine integrierte Berechtigungsverwaltung und Abrechnung bereitzustellen. Auf diese Weise kannst du deine Softwareentwicklung auf GitHub zentralisieren.
Du kannst GitHub Packages mit GitHub-APIs, GitHub Actions und Webhooks integrieren, um einen End-to-End-DevOps-Workflow zu erstellen, der deine Code-, CI- und Bereitstellungslösungen enthält.
GitHub Packages bietet verschiedene Paketregistrierungen für häufig verwendete Paket-Manager so wie npm, RubyGems, Apache Maven, Gradle, Docker und NuGet. Die Container registry von GitHub ist für Container optimiert und unterstützt Docker- und OCI-Images. Weitere Informationen zu den verschiedenen Paketregistrierungen, die GitHub Packages unterstützt, findest du unter Arbeiten mit einer GitHub Packages-Registrierung.
Du kannst die Infodatei eines Pakets sowie die Metadaten wie etwa Lizensierung, Downloadstatistiken, Versionsverlauf und mehr auf GitHub anzeigen. Weitere Informationen finden Sie unter Pakete anzeigen.
Übersicht über Paketberechtigungen
Die Berechtigungen für ein Paket können vom Repository geerbt werden, in dem das Paket gehostet wird, oder für bestimmte Benutzer*innen oder Organisationen definiert werden. Einige Registrierungen unterstützen nur Berechtigungen, die von einem Repository geerbt werden. Eine Liste dieser Registrierungen findest du unter Informationen zu Berechtigungen für GitHub-Pakete. Weitere Informationen zum Paketzugriff findest du unter Konfigurieren der Zugriffssteuerung und Sichtbarkeit von Paketen.
Übersicht über die Paketsichtbarkeit
Sie können Pakete in einem öffentlichen Repository (öffentliche Pakete) veröffentlichen, um sie für alle GitHub, oder in einem privaten Repository (private Pakete), um sie mit Mitarbeitern oder einer Organisation zu teilen.
Informationen zu verknüpften Artefakten für Organisationen
Die linked artifacts page ist eine alternative Ansicht, auf die Sie auch im Abschnitt "Pakete" der Einstellungen einer Organisation zugreifen können.
Wie GitHub Packages, ermöglicht auch die linked artifacts page das Sammeln von Informationen zu den Builds Ihrer Organisation an einem zentralen Ort. Teams können die linked artifacts page verwenden, um den Quellcode, die Builddetails und den Bereitstellungsverlauf eines Artefaktes zu finden.
Anders als GitHub Packages hostet die linked artifacts page die Paket- oder Imagedateien nicht selbst. Stattdessen stellt sie eine autorisierende Quelle für die Metadaten bereit, die den einzelnen Paketen oder Bildern zugeordnet sind.
Ihre Organisation kann von der Verwendung des linked artifacts page profitieren:
-
**Zusammen mit** GitHub Packages als ergänzende Ansicht der Compliance- und Sicherheitsaspekte des Paketverbrauchs -
**Alternativ zu** GitHub Packages, sodass Sie Ihre Pakete in einer externen Registrierung Ihrer Wahl speichern und gleichzeitig die Sichtbarkeit der Pakete auf GitHub beibehalten können
Weitere Informationen finden Sie unter Informationen zu verknüpften Artefakten.
Informationen zur Abrechnung für GitHub Packages
Die GitHub Packages-Nutzung ist für öffentliche Pakete kostenlos.
Für private Pakete erhält jedes Konto auf GitHub eine Menge kostenlosen Speichers und Datenübertragung, der durch den Plan des Kontos bestimmt wird. Jede Nutzung, die über die enthaltenen Kontingente hinausgeht, wird durch Budgets gesteuert.
Wenn für dein Konto keine gültige Zahlungsmethode hinterlegt ist, wird die Nutzung blockiert, sobald du dein Kontingent aufgebraucht hast.
Wenn du über eine gültige Zahlungsmethode verfügst, sind die Ausgaben möglicherweise durch ein oder mehrere Budgets begrenzt. Überprüfe die Budgets, die für dein Konto festgelegt sind, um sicherzustellen, dass sie deinen Nutzungsanforderungen entsprechen. Weitere Informationen findest du unter Einrichten von Budgets zum Kontrollieren der Ausgaben für Produkte mit verbrauchseinheitenbasierter Abrechnung.
Weitere Informationen finden Sie unter Abrechnung von GitHub Paketen.
Unterstützte Clients und Formate
GitHub Packages verwendet die nativen Paket-Tool-Befehle, mit denen du bereits vertraut bist, um Paketversionen zu veröffentlichen und zu installieren.
Unterstützung für Paketregistrierungen
| Sprache | BESCHREIBUNG | Paketformat | Paketclient |
|---|---|---|---|
| JavaScript | Node-Paket-Manager | package.json | npm |
| Ruby | RubyGems-Paket-Manager | Gemfile | gem |
| Java | Apache Maven-Projektmanagement und Verständnistool | pom.xml | mvn |
| Java | Gradle-Build-Automatisierungs-Tool für Java |
`build.gradle` oder `build.gradle.kts` | `gradle` |
| .NET | NuGet-Paketmanagement für .NET | nupkg |
dotnet CLI |
| – | Docker-Containerverwaltung | Dockerfile | Docker |
Weitere Informationen zum Konfigurieren des Paketclients für die Verwendung mit GitHub Packages finden Sie unter Arbeiten mit einer GitHub Packages-Registrierung.
Weitere Informationen zu Docker und der Container registry findest du unter Arbeiten mit der Containerregistrierung.
Sich bei GitHub Packages authentifizieren
Hinweis
GitHub Packages unterstützt nur die Authentifizierung mit einem personal access token (classic). Weitere Informationen finden Sie unter Verwalten deiner persönlichen Zugriffstoken.
Du benötigst ein Zugriffstoken, um private, interne und öffentliche Pakete zu veröffentlichen, zu installieren und zu löschen.
Du kannst ein personal access token (classic) verwenden, um dich bei GitHub Packages oder der GitHub-API zu authentifizieren. Wenn du ein personal access token (classic) erstellst, kannst du dem Token je nach Bedarf verschiedene Bereiche zuweisen. Weitere Informationen zu paketbezogenen Bereichen für ein personal access token (classic) findest du unter Informationen zu Berechtigungen für GitHub-Pakete.
Um dich bei einer GitHub Packages-Registrierung innerhalb eines GitHub Actions-Workflows zu authentifizieren, kannst du Folgendes verwenden:
GITHUB_TOKEN, um Pakete zu veröffentlichen, die mit dem Workflowrepository verbunden sind.- Ein personal access token (classic) mit mindestens dem
read:packages-Bereich für die Installation von Paketen, die anderen privaten Repositorys zugeordnet sind (GITHUB_TOKENkann verwendet werden, wenn das Repository Lesezugriff auf das Paket enthält. Weitere Informationen findest du unter Konfigurieren der Zugriffssteuerung und Sichtbarkeit von Paketen).
Weitere Informationen zum GITHUB_TOKEN, das in GitHub Actions-Workflows verwendet wird, findest du unter Verwenden von GITHUB_TOKEN für die Authentifizierung in Workflows.
Verwalten von Paketen
Du kannst ein Paket auf der GitHub-Benutzeroberfläche oder mithilfe der REST-API löschen. Weitere Informationen findest du unter Löschen und Wiederherstellen eines Pakets und REST-API-Endpunkte für Pakete. Bei bestimmten Registrierungen kannst du GraphQL zum Löschen einer Version eines privaten Pakets verwenden.
Du kannst die GitHub Packages-GraphQL-API nicht bei Registrierungen verwenden, die differenzierte Berechtigungen unterstützen. Informationen zu Registrierungen, die ausschließlich repositorybezogene Berechtigungen unterstützen und mit der GraphQL-API verwendet werden können, findest du unter Informationen zu Berechtigungen für GitHub-Pakete.
Wenn du die GraphQL-API zum Abfragen und Löschen privater Pakete verwendest, musst du das gleiche personal access token (classic) verwenden, das du zum Authentifizieren von GitHub Packages verwendest.
Weitere Informationen findest du unter Erstellen von Aufrufen mit GraphQL.
Du kannst Webhooks so konfigurieren, dass paketbezogene Ereignisse abonniert werden, so wie wenn ein Paket veröffentlicht oder aktualisiert wird. Weitere Informationen findest du unter Webhook-Ereignisse und Webhook-Nutzlasten.
Kontaktaufnahme mit dem Support
Wenn du Feedback oder Feature-Anfragen für GitHub Packages hast, verwende das GitHub Community-Forum.
Wenden Sie sich in den folgenden fällen über das GitHub-Supportportal zu GitHub Packages an uns:
- Du erlebst etwas, das der Dokumentation widerspricht
- Sie stoßen auf unbestimmte oder unklare Fehler.
- Dein veröffentlichtes Paket enthält vertrauliche Daten, z. B. Verstöße gegen die Datenschutz-Grundverordnung (DSGVO), API-Schlüssel oder personenbezogene Informationen