Was ist GitHub Packages?

Abgeschlossen

GitHub-Pakete sind ein Paketverwaltungsdienst, der das Veröffentlichen von öffentlichen oder privaten Paketen neben Ihrem Quellcode erleichtert.

Hinweis

Wenn Sie noch nicht mit GitHub vertraut sind, lesen Sie das Modul "Einführung in GitHub Learn".

GitHub Packages ist eine Paketregistrierung

GitHub-Pakete ermöglichen es Ihnen, Ihre Projektabhängigkeiten innerhalb Ihrer Organisation oder öffentlich freizugeben.

Wenn Sie an einem Projekt mit Paketabhängigkeiten arbeiten, ist es wichtig, dass Sie ihnen vertrauen, deren Code verstehen und sich mit der Community verbinden, die sie erstellt hat. Innerhalb von Organisationen müssen Sie auch in der Lage sein, schnell zu finden, was für Ihre Verwendung genehmigt wurde.

GitHub-Pakete verwenden dieselbe vertraute GitHub-Schnittstelle, um öffentliche Pakete überall auf GitHub oder private Pakete in Ihrer Organisation oder Repositorys zu finden.

Ein Standardpaket-Manager

GitHub-Pakete sind mit allgemeinen Paketverwaltungsclients kompatibel, sodass Sie Pakete mit Ihren Tools veröffentlichen können. Wenn Ihr Repository komplexer ist, müssen Sie möglicherweise mehrere Pakete unterschiedlicher Typen veröffentlichen. Sie können auch Webhooks oder GitHub-Aktionen verwenden, um Ihre Veröffentlichungs- und Postveröffentlichungsworkflows vollständig anzupassen.

Veröffentlichen Sie ein Open Source-Paket? Viele Open-Source-Projekte speichern ihren Code auf GitHub, sodass Sie Vorabversionen Ihrer Pakete zum Testen in Ihrer Community veröffentlichen können, und dann einfach bestimmte Versionen für die öffentliche Registrierung Ihrer Wahl bewerben.

GitHub n p m Paketseite mit Beschreibung und Anweisungen zur Installation.

Zum Zeitpunkt des Schreibens ist GitHub Packages mit den folgenden Paketmanagern kompatibel:

  • npm, ein NodeJS-Paket-Manager
  • NuGet, der .NET-Paket-Manager
  • RubyGems, ein Ruby-Paket-Manager
  • Maven und Gradle, zwei Paketmanager für Java

GitHub Packages ist auch eine Containerregistrierung

Von vollständigen Anwendungen bis hin zu CLI-Dienstprogrammen sind Container eine weitere Form der Verteilung von Code. GitHub-Pakete ermöglichen Es Ihnen, Containerimages zu veröffentlichen und zu verteilen. Nach der Veröffentlichung (öffentlich oder privat) können Sie diese Bilder von überall aus verwenden, einschließlich:

  • In Ihrer lokalen Entwicklungsumgebung
  • Als Basisimage aus Ihrer GitHub Codespaces-Entwicklungsumgebung
  • Als Schritt für die Ausführung in Ihrem Continuous Integration-Workflow (CI) bzw. Continuous Deployment-Workflow (CD) mit GitHub Actions
  • Auf einem Server oder einem Clouddienst

GitHub-Container-Imageseite mit Image-Versionsliste, Statistiken und Anweisungen zur Installation.

Vergleichen von GitHub-Paketen mit GitHub-Versionen

GitHub-Pakete werden verwendet, um Versionen Ihrer Bibliotheken in einem Standardpaketfeed oder einer Containerregistrierung zu veröffentlichen. Sie sollen die Funktionsweise des spezifischen Paketverwaltungsclients mit diesem Feed optimieren, indem sie etwa auf das Repository verweisen, in dem das Paket erstellt wurde, sowie auf die Version des Codes, die verwendet wurde.

GitHub-Versionen werden verwendet, um ein Paket von Software zusammen mit Versionshinweisen und Links zu Binärdateien freizugeben. Sie können diese Versionen direkt von ihrer eindeutigen URL herunterladen und sie wieder auf den spezifischen Commit nachverfolgen, aus dem sie erstellt wurden. Sie können Releases nur als Tarballs oder ZIP-Dateien herunterladen.

Einheitliche Identität und Berechtigungen

Angenommen, Sie arbeiten an einem Projekt, das GitHub zum Hosten von Quellcode verwendet: JavaScript für das Front-End, mit npm und Java für das Back-End. Sie verwalten jetzt mindestens drei verschiedene Gruppen von Benutzeranmeldeinformationen und -berechtigungen: für Git-, npm- und Maven-Repositorys.

Mit GitHub-Paketen können Sie einen einzigen Satz von Anmeldeinformationen in Ihrem Quellcode-Repository, Ihrer privaten npm-Registrierung und Ihrer privaten Maven- oder Gradle-Registrierung verwenden. Pakete, die über GitHub veröffentlicht werden, erben die Sichtbarkeit und Berechtigungen, die auf Repositoryebene zugewiesen sind. Ein neues Teammitglied benötigt Lesezugriff auf ein Paket und dessen Code? Gewähren Sie ihnen Lesezugriff auf das Repository, und es ist fertig!

Erstellen und Veröffentlichen von Paketen von GitHub

GitHub-Aktionen sind ein weiteres GitHub-Feature, mit dem Sie Ihre Softwareworkflows automatisieren können. Sie können Ihren Code direkt über GitHub erstellen, testen und bereitstellen.

Tipp

Wenn Sie mehr über GitHub-Aktionen erfahren möchten, sehen Sie sich die Workflows für die fortlaufende Integration (Build continuous integration, CI) mithilfe des GitHub Actions Learn-Moduls an.

Durch die Kombination von GitHub-Aktionen und GitHub-Paketen können Sie einen Workflow erstellen, der Ihren Code erstellt und testt, und sie dann auf GitHub-Pakete veröffentlichen, indem Sie einfach Code an Ihr Repository übertragen.

In der nächsten Lektion erfahren Sie, wie Sie unseren Workflow zum Veröffentlichen in GitHub-Pakete und GitHub-Containerregistrierung verwenden.