Was ist GitHub Packages?

Abgeschlossen

Bei GitHub Packages handelt es sich um einen Paketverwaltungsdienst, mit dem Sie auf einfache Weise öffentliche oder private Pakete neben Ihrem Quellcode veröffentlichen können.

Hinweis

Absolvieren Sie das Learn-Modul Einführung in GitHub, wenn Sie noch nicht mit GitHub vertraut sind.

GitHub Packages: eine Paketregistrierung

Mit GitHub Packages können Sie Ihre Projektabhängigkeiten innerhalb Ihrer Organisation oder öffentlich freigeben.

Wenn Sie an einem Projekt mit Paketabhängigkeiten arbeiten, ist es wichtig, dass Sie diesen vertrauen, den Code verstehen und Kontakt zur Community aufbauen, die sie erstellt hat. Innerhalb von Organisationen müssen Sie auch schnell herausfinden können, was für die Verwendung genehmigt wurde.

GitHub Packages verwenden dieselbe vertraute GitHub-Oberfläche für die Suche nach öffentlichen Paketen in GitHub oder nach privaten Paketen innerhalb Ihrer Organisation oder Ihres Repositorys.

Ein Standardpaket-Manager

GitHub Packages ist mit allgemeinen Paketverwaltungsclients kompatibel, sodass Sie Pakete mit den Tools Ihrer Wahl veröffentlichen können. Wenn Ihr Repository komplexer ist, müssen Sie möglicherweise mehrere Pakete unterschiedlicher Typen veröffentlichen. Mit Webhooks oder GitHub Actions können Sie Ihre Veröffentlichungsworkflows oder Workflows nach der Veröffentlichung vollständig anpassen.

Möchten Sie ein Open-Source-Paket veröffentlichen? Viele Open-Source-Projekte speichern ihren Code auf GitHub, sodass Sie Vorabversionen Ihrer Pakete zum Testen in Ihrer Community veröffentlichen und dann problemlos bestimmte Versionen in die öffentliche Registrierung Ihrer Wahl höherstufen können.

GitHub n p m package page, with description, and instructions about how to install it.

Zum Zeitpunkt der Erstellung dieser Lektion ist GitHub Packages mit den folgenden Paket-Managern kompatibel:

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

GitHub Packages – eine Containerregistrierung

Container sind eine andere Form der Codeverteilung, von den kompletten Anwendungen bis hin zu CLI-Hilfsprogrammen. Mit GitHub Packages können Sie Containerimages veröffentlichen und verteilen. Nachdem sie (öffentlich oder privat) veröffentlicht wurden, können Sie diese Images von jedem Ort 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 in einem Clouddienst

GitHub container image page, with image versions listing, statistics and instructions about how to install it.

Vergleich von GitHub Packages und GitHub Releases

GitHub Packages wird zum Veröffentlichen von Releases Ihrer Bibliotheken in einem Standardpaketfeed oder einer Containerregistrierung verwendet. Sie nutzen die Art, wie der jeweilige Paketverwaltungsclient mit diesem Feed arbeitet, indem Sie zum Beispiel eine Verknüpfung zum Repository herstellen, in dem das Paket erstellt wurde, und die Version des verwendeten Codes angeben.

GitHub Releases wird verwendet, um gepackte Software als Bundle zu veröffentlichen, das Versionshinweise und Links zu Binärdateien enthält. Sie können diese Releases direkt über die eindeutige URL herunterladen und zu dem Commit zurückführen, aus dem sie erstellt wurden. Sie können Releases nur als Tarballs oder ZIP-Dateien herunterladen.

Einheitliche Identität und Berechtigungen

Nehmen wir an, dass Sie an einem Projekt arbeiten, bei dem GitHub zum Hosten von Quellcode, JavaScript für das Front-End und npm und Java für das Back-End verwendet wird. Nun besitzen Sie mindestens drei verschiedene Benutzeranmeldeinformationen und Berechtigungen: für Git-, npm- und Maven-Repositorys.

Mit GitHub Packages können Sie dieselben Anmeldeinformationen für das Quellcoderepository, Ihre private npm-Registrierung und Ihre private Maven- oder Gradle-Registrierung verwenden. Pakete, die über GitHub veröffentlicht werden, erben die auf Repositoryebene zugewiesene Sichtbarkeit und die Berechtigungen. Benötigt ein neues Teammitglied Lesezugriff auf ein Paket und seinen Code? Erteilen Sie ihnen einfach Lesezugriff auf das Repository.

Erstellen und Veröffentlichen von Paketen aus GitHub

GitHub Actions ist 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 Actions erfahren möchten, sehen Sie sich das Learn-Modul Erstellen von CI-Workflows (Continuous Integration) mithilfe von GitHub Actions an.

Durch die Kombination von GitHub Actions und GitHub Packages können Sie einen Workflow erstellen, mit dem Ihr Code erstellt und getestet und anschließend in GitHub Packages veröffentlicht werden kann, indem er einfach in Ihr Repository gepusht wird.

In der nächsten Lerneinheit erfahren Sie, wie Sie den Workflow zum Veröffentlichen in GitHub Packages und GitHub Container Registry verwenden.