Shrnutí

Dokončeno

V tomto modulu jste se seznámili s GitHub Packages, plně integrovanou službou hostování balíčků v Rámci GitHubu. Naučili jste se publikovat, instalovat, odstraňovat a obnovovat balíčky a řídit oprávnění a viditelnost pro zabezpečenou správu balíčků.

Co jste se naučili

Víte, jak popsat výhody a používání pro:

Balíčky publikování

  • Podporované registry: npm, NuGet, Maven, Gradle, RubyGems, Docker a Container Registry.
  • Autentizace: Vytváření a používání osobních přístupových tokenů (PATs) s příslušnými rozsahy.
  • Pracovní postup publikování: Ověřování, konfigurace metadat balíčku a publikování pomocí nativních nástrojů
  • Publikování NuGet: Pro autentizaci používejte příkazový řádek dotnet a soubory nuget.config.
  • publikování npm: Konfigurace souborů .npmrc a použití přihlášení npm pro ověřování
  • Automatizace: Balíčky se automaticky publikují pomocí workflowů GitHub Actions.
  • Osvědčené postupy: Správa verzí, dokumentace, poradce pro zabezpečení a úplnost metadat.

Instalace balíčků

  • Zjišťování balíčků: Vyhledávání globálně, v organizacích nebo v úložištích
  • Pracovní postup instalace: Ověřte se ve službě GitHub Packages a nainstalujte je pomocí nativních správců balíčků.
  • Instalace NuGetu: Pomocí sady Visual Studio, rozhraní příkazového řádku dotnet nebo přímých úprav .csproj.
  • instalace npm: Konfigurace souborů .npmrc, package.json závislostí a podpory více organizací
  • Integrace CI/CD: Instalace balíčků v GitHub Actions pomocí GITHUB_TOKEN
  • Řešení problémů: Řešení problémů s ověřováním, oprávněním a verzí

Odstranění a obnovení balíčků

  • Pravidla odstraňování: Vysvětlení omezení pro veřejné balíčky (limit stahování 5 000)
  • Požadavky na oprávnění: Přístup správce pro balíčky s vymezeným úložištěm.
  • Odstranění verzí: Odebírání konkrétních verzí a zachování dostupnosti ostatních verzí
  • Odstranění celých balíčků: Odebrání všech verzí z GitHub Packages
  • Podmínky obnovení: 30denní lhůta, dostupnost oboru názvů a zachování oprávnění.
  • API Management: Použití rozhraní REST API pro programové operace balíčků
  • Osvědčené postupy: Komunikace, vyřazení, období odkladu a záznamy auditu

Konfigurace řízení přístupu a viditelnosti

  • Modely oprávnění: Oprávnění děděná z úložiště vs. detailní oprávnění (registr kontejnerů).
  • Možnosti viditelnosti: Veřejné, soukromé a interní (jenom podnikové) balíčky.
  • Oprávnění image kontejneru: Role čtení, zápisu a správce pomocí nezávislého řízení přístupu
  • Přístup uživatelů a týmů: Udělení oprávnění jednotlivcům a týmům
  • Osvědčené postupy zabezpečení: Nejnižší oprávnění, pravidelné audity, přístup na základě týmu a dokumentace.
  • Organizační strategie: Standardizovaná viditelnost, procesy žádostí o přístup a sladění dodržování předpisů.

Shrnutí klíčových konceptů

Integrace Služby GitHub Packages

  • Jednotná platforma: Balíčky jsou uloženy spolu se zdrojovým kódem GitHubu.
  • Stejné ověřování: Místo samostatných účtů registru používejte přihlašovací údaje GitHubu.
  • Automatizace pracovního postupu: Automaticky publikujte balíčky pomocí GitHub Actions.
  • Více registrů: Podpora npm, NuGetu, Mavenu, Dockeru a dalších na jedné platformě

Zabezpečení a řízení přístupu

  • Podrobná oprávnění: Container Registry podporuje nezávislé řízení přístupu.
  • Oprávnění zděděná z úložiště: Většina typů balíčků se řídí přístupem k úložišti.
  • Ověřování PAT: Bezpečné ověřování pomocí osobních přístupových tokenů.
  • Veřejný vs. soukromý: Zvolte viditelnost na základě potřeb zabezpečení a spolupráce.

Správa životního cyklu balíčků

  • Publikování: Automatizované nebo ruční publikování pomocí nativních nástrojů balíčků
  • Správa verzí: Sémantická správa verzí pro jasnou komunikaci změn.
  • Smazání: Odeberte zastaralé nebo zranitelné verze s bezpečnostními omezeními.
  • Obnovení: Obnovte odstraněné balíčky během 30denního intervalu.

Výhody automatizace

  • Integrace CI/CD: Bezproblémová integrace s GitHub Actions
  • GITHUB_TOKEN: Automatické ověřování v pracovních postupech bez PAT
  • Konzistentní publikování: Každá verze vytvoří balíček automaticky.
  • Brány kvality: Před publikováním balíčků spusťte testy.

Další kroky

Pokračovat v učení

Vylepšete své dovednosti v GitHub Packages:

  • Rozšířené ověřování: Implementujte strategie ověřování pro celou organizaci.
  • Propagace balíčku: Vyvíjejte pracovní postupy pro podporu balíčků prostřednictvím fází kvality.
  • Publikování monorepo: Publikování několika balíčků z jednoho úložiště
  • Kontrola zabezpečení: Integrace kontroly ohrožení zabezpečení pro publikované balíčky

Prozkoumejte pokročilé scénáře:

  • Podpora více registrů: Nakonfigurujte projekty tak, aby používaly více registrů balíčků.
  • Zrcadlení balíčků: Ukládání externích balíčků do mezipaměti ve službě GitHub Packages
  • Vlastní automatizace: Sestavte pokročilé pracovní postupy publikování pomocí GitHub Actions.
  • Analýza balíčků: Sledujte využití a přijetí balíčků.

Praktická aplikace

Začněte implementovat:

  1. Nastavení ověřování: Vytvořte osobní přístupové tokeny s odpovídajícími rozsahy pro váš tým.
  2. Publikovat první balíček: Zvolte registr a publikujte testovací balíček.
  3. Konfigurace příjemců: Nastavte projekty pro instalaci balíčků z GitHub Packages.
  4. Automatizace publikování: Vytváření pracovních postupů GitHub Actions pro automatizované publikování
  5. Konfigurace řízení přístupu: Nastavte viditelnost a oprávnění na základě potřeb zabezpečení.
  6. Postupy dokumentu: Vytvořte týmové pokyny pro správu balíčků.

Integrace s postupy DevOps

GitHub Packages v pracovních postupech DevOps:

  • Kontinuální integrace: Automaticky sestavovat a publikovat balíčky při každém potvrzení.
  • Průběžné doručování: V nasazovacích procesech používejte balíčky jako artefakty.
  • Správa závislostí: Centralizace interních závislostí v GitHub Packages
  • Správa verzí: Sledujte verze balíčků společně s verzemi kódu.
  • Dodržování předpisů zabezpečení: Implementujte řízení přístupu v souladu se zásadami organizace.

Další informace

Oficiální dokumentace

Příručky specifické pro registr

Zabezpečení a osvědčené postupy

Rozhraní API a automatizace

Komunita a podpora

  • Dokumentace ke GitHubu: Prozkoumejte komplexní příručky a kurzy.
  • Komunita GitHubu: Položte otázky a získejte odpovědi od komunity.
  • Blog GitHubu: Mějte aktuální informace o nejnovějších funkcích a oznámeních.
  • Dovednosti GitHubu: Interaktivní studijní programy pro funkce GitHubu