Shrnutí
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:
- Nastavení ověřování: Vytvořte osobní přístupové tokeny s odpovídajícími rozsahy pro váš tým.
- Publikovat první balíček: Zvolte registr a publikujte testovací balíček.
- Konfigurace příjemců: Nastavte projekty pro instalaci balíčků z GitHub Packages.
- Automatizace publikování: Vytváření pracovních postupů GitHub Actions pro automatizované publikování
- Konfigurace řízení přístupu: Nastavte viditelnost a oprávnění na základě potřeb zabezpečení.
- 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
- Rychlé úvod k GitHub Packages – Rychlé zahájení s GitHub Packages
- Seznamte se s GitHub Packages – komplexní průvodce koncepty GitHub Packages.
- Práce s registrem GitHub Packages – příručky specifické pro registr pro všechny podporované typy balíčků.
- Informace o oprávněních pro GitHub Packages – Principy modelů oprávnění a řízení přístupu
Příručky specifické pro registr
- Práce s registrem npm – Kompletní průvodce správou balíčků npm
- Práce s registrem NuGet – Kompletní průvodce správou balíčků NuGet
- Práce s kontejnerovým registrem – Docker, správa imagí OCI
- Práce s registrem Apache Maven – správa balíčků Maven
- Práce s registrem Gradle – správa balíčků Gradle
Zabezpečení a osvědčené postupy
- Konfigurace řízení přístupu a viditelnosti balíčku – Správa zabezpečení balíčků
- Odstranění a obnovení balíčku – správa životního cyklu balíčku
- Publikování balíčku – osvědčené postupy pro publikování balíčků
- Instalace balíčku – osvědčené postupy pro využívání balíčků
Rozhraní API a automatizace
- GitHub Packages API – REST API pro programatickou správu balíčků
- Publikování balíčků pomocí GitHub Actions – příklady integrace CI/CD
- Použití služby GitHub Packages s GitHub Actions – pokročilé vzory pracovních postupů
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