Vad är GitHub-paket?

Slutförd

GitHub Packages är en pakethanteringstjänst som gör det enkelt att publicera offentliga eller privata paket bredvid källkoden.

Notis

Om du inte redan är bekant med GitHub kan du läsa modulen Introduktion till GitHub Learn.

GitHub Packages är ett paketregister

Med GitHub Packages kan du dela projektberoenden i din organisation eller offentligt.

När du arbetar med ett projekt som har paketberoenden är det viktigt att du litar på dem, förstår deras kod och ansluter till communityn som skapade dem. Inom organisationer måste du också snabbt kunna hitta det som har godkänts för din användning.

GitHub Packages använder samma välbekanta GitHub-gränssnitt för att hitta offentliga paket var som helst på GitHub eller privata paket i din organisation eller lagringsplatser.

En standardpakethanterare

GitHub Packages är kompatibelt med vanliga pakethanteringsklienter, så du kan publicera paket med valfritt verktyg. Om lagringsplatsen är mer komplex kan du behöva publicera flera paket av olika typer. Du kan också använda webhooks eller GitHub Actions för att helt anpassa dina arbetsflöden för publicering och efter publicering.

Publicerar du ett paket med öppen källkod? Många projekt med öppen källkod lagrar sin kod på GitHub, så att du kan publicera förhandsversioner av dina paket för testning i communityn och sedan enkelt höja upp specifika versioner till det offentliga register som du väljer.

github n p m paketsida, med beskrivning och instruktioner om hur du installerar den.

I skrivande stund är GitHub Packages kompatibelt med följande pakethanterare:

  • npm, en pakethanterare för NodeJS
  • NuGet, .NET-pakethanteraren
  • RubyGems, en Ruby-pakethanterare
  • Maven och Gradle, två pakethanterare för Java

GitHub Packages är också ett containerregister

Från fullständiga program till CLI-verktyg är containrar en annan form av distribution av kod. Med GitHub Packages kan du publicera och distribuera containeravbildningar. När du har publicerat (offentligt eller privat) kan du använda dessa bilder var som helst, inklusive:

  • I din lokala utvecklingsmiljö
  • Som en basavbildning från din GitHub Codespaces utvecklingsmiljö
  • Som ett steg för att implementera i ditt arbetsflöde för kontinuerlig integration (CI)/kontinuerlig distribution (CD) med GitHub Actions
  • På en server eller en molntjänst

github-containeravbildningssidan, med bildversioner, statistik och instruktioner om hur du installerar den.

Jämför GitHub-paket med GitHub-versioner

GitHub Packages används för att publicera versioner av dina bibliotek till ett standardpaketflöde eller ett containerregister. De är avsedda att utnyttja hur den specifika pakethanteringsklienten fungerar med feeden, som att länka tillbaka till lagringsplatsen där paketet skapades samt den version av koden som användes.

GitHub-versioner används för att släppa ett paket med paketerad programvara, tillsammans med viktig information och länkar till binära filer. Du kan ladda ner dessa versioner direkt från deras unika URL och spåra dem tillbaka till den specifika commit som de skapades från. Du kan bara ladda ned versioner som tarballs eller ZIP-filer.

Enhetlig identitet och behörigheter

Anta att du arbetar med ett projekt som använder GitHub för att vara värd för källkod: JavaScript för klientdelen, med npm och Java för serverdelen. Nu har du minst tre olika uppsättningar med användarautentiseringsuppgifter och behörigheter: för Git-, npm- och Maven-lagringsplatser.

Med GitHub Packages kan du använda en enda uppsättning autentiseringsuppgifter i din källkodslagringsplats, ditt privata npm-register och ditt privata Maven- eller Gradle-register. Paket som publiceras via GitHub ärver synligheten och behörigheterna som tilldelats på lagringsplatsnivå. Behöver en ny gruppmedlem läsbehörighet till ett paket och dess kod? Ge dem läsåtkomst till lagringsplatsen så är det klart!

Skapa och publicera paket från GitHub

GitHub Actions är en annan GitHub-funktion som gör att du kan automatisera dina programvaruarbetsflöden. Du kan skapa, testa och distribuera din kod direkt från GitHub.

Tips

Om du vill lära dig mer om GitHub Actions kan du läsa arbetsflödena för Skapa kontinuerlig integrering (CI) med hjälp av GitHub Actions Learn-modulen.

Genom att kombinera GitHub Actions och GitHub Packages kan du skapa ett arbetsflöde som skapar och testar din kod och sedan publicerar den till GitHub Packages genom att helt enkelt skicka kod till lagringsplatsen.

I nästa lektion får vi lära oss hur du använder vårt arbetsflöde för att publicera till GitHub Packages och GitHub Container Registry.