Skip to main content

Einführung in GitHub-Pakete

          GitHub Packages ist ein Softwarepaket-Hostingdienst, mit dem Sie Ihre Softwarepakete privat oder öffentlich hosten und Pakete als Abhängigkeiten in Ihren Projekten verwenden können.

Informationen zum GitHub Packages

          GitHub Packages ist eine Plattform zum Hosten und Verwalten von Paketen, einschließlich Containern und anderen Abhängigkeiten. 
          GitHub Packages kombiniert Ihren Quellcode und Ihre Pakete an einer zentralen Stelle, um integrierte Berechtigungsverwaltung bereitzustellen, sodass Sie Ihre Softwareentwicklung GitHubzentralisieren können.

Sie können GitHub Packages mit GitHub's APIs, GitHub Actions und Webhooks integrieren, um einen End-to-End-DevOps-Workflow zu schaffen, der Ihren Code, Ihre CI und Ihre Deployment-Lösungen umfasst.

          GitHub Packages bietet verschiedene Paketregistrierungen für häufig verwendete Paketmanager wie npm, RubyGems, Apache Maven, Gradle, Docker und NuGet. 
           Weitere Informationen zu den verschiedenen Paketregistern, die GitHub Packages unterstützt, finden Sie unter [AUTOTITLE](/packages/working-with-a-github-packages-registry).

Sie können die README-Datei eines Pakets sowie die Metadaten, wie die Lizenzinformationen, die Downloadstatistiken, den Versionsverlauf und vieles mehr, auf GitHub anzeigen. Weitere Informationen finden Sie unter Pakete anzeigen.

Weitere Informationen zur Konfiguration von GitHub Packages on GitHub Enterprise Serverfinden Sie unter Erste Schritte mit GitHub-Paketen für Ihr Unternehmen.

Ü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 jeden in Ihrem Unternehmen freizugeben, oder in einem privaten Repository (private Pakete), um sie mit Mitarbeitern oder einer Organisation zu teilen.

Unterstützte Clients und Formate

          GitHub Packages verwendet die systemeigenen Pakettoolbefehle, mit denen Sie bereits vertraut sind, um Paketversionen zu veröffentlichen und zu installieren.

Unterstützung für Paketregistrierungen

SpracheBESCHREIBUNGPaketformatPaketclient
JavaScriptNode-Paket-Managerpackage.jsonnpm
RubyRubyGems-Paket-ManagerGemfilegem
JavaApache Maven-Projektmanagement und Verständnistoolpom.xmlmvn
JavaGradle-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 |

Hinweis

Beim Aktivieren der Docker-Registrierung empfehlen wir dringend, die Unterdomänenisolation zu aktivieren. Weitere Informationen finden Sie unter Subdomain-Isolation aktivieren.

Weitere Informationen zum Konfigurieren des Paketclients für die Verwendung mit GitHub Packages finden Sie unter Arbeiten mit einer GitHub Packages-Registrierung.

Authentifizierung bei GitHub Packages

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_TOKEN kann 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

Sie können ein Paket auf der GitHub Benutzeroberfläche löschen oder die REST-API verwenden. 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 Sie die GraphQL-API verwenden, um private Pakete abzufragen und zu löschen, müssen Sie dasselbe personal access token (classic) verwenden, mit dem Sie sich bei GitHub Packages authentifizieren.

Weitere Informationen finden Sie unter Löschen und Wiederherstellen eines Pakets und 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 Sie Support für GitHub Packages benötigen, wenden Sie sich bitte an Ihre Website-Administratoren.