Samenvatting

Voltooid

In deze module hebt u kennisgemaakt met GitHub Packages, een volledig geïntegreerde pakkethostingservice in GitHub. U hebt geleerd hoe u pakketten publiceert, installeert, verwijdert en herstelt tijdens het beheren van machtigingen en zichtbaarheid voor veilig pakketbeheer.

Wat u hebt geleerd

U hebt geleerd hoe u de voordelen en het gebruik kunt beschrijven van:

Publicatiepakketten

  • Ondersteunde registers: npm, NuGet, Maven, Gradle, RubyGems, Docker en containerregister.
  • Authenticatie: Persoonlijke toegangstokens (PAT's) maken en gebruiken met de juiste omvang.
  • Publicatiewerkstroom: Verifiëren, pakketmetagegevens configureren en publiceren met systeemeigen hulpprogramma's.
  • NuGet-publicatie: Dotnet CLI en nuget.config-bestanden gebruiken voor verificatie.
  • npm publishing: .npmrc-bestanden configureren en npm-aanmelding gebruiken voor verificatie.
  • Automatisering: Pakketten automatisch publiceren met GitHub Actions-werkstromen.
  • Aanbevolen procedures: Versiebeheer, documentatie, beveiligingsadviezen en volledigheid van metagegevens.

Pakketten installeren

  • Pakketdetectie: Wereldwijd, binnen organisaties of in opslagplaatsen zoeken.
  • Installatiewerkstroom: Verifiëren bij GitHub Packages en installeren met systeemeigen pakketbeheerders.
  • NuGet-installatie: Visual Studio, dotnet CLI of directe .csproj-bewerkingen gebruiken.
  • npm-installatie: .npmrc-bestanden, package.json afhankelijkheden en ondersteuning voor meerdere organisaties configureren.
  • CI/CD-integratie: Pakketten installeren in GitHub Actions met behulp van GITHUB_TOKEN.
  • Probleemoplossing: Problemen met verificatie, machtigingen en versies oplossen.

Pakketten verwijderen en herstellen

  • Verwijderingsregels: Informatie over beperkingen voor openbare pakketten (5.000 downloadlimiet).
  • Machtigingsvereisten: Beheerderstoegang voor pakketten met opslagplaatsbereik.
  • Versies verwijderen: Specifieke versies verwijderen terwijl anderen beschikbaar blijven.
  • Volledige pakketten verwijderen: Alle versies verwijderen uit GitHub Packages.
  • Herstelvoorwaarden: venster van 30 dagen, beschikbaarheid van naamruimten en retentie van machtigingen.
  • API-beheer: REST API gebruiken voor programmatische pakketbewerkingen.
  • Aanbevolen procedures: Communicatie, afschrijven, respijtperioden en audit-trails.

Toegangsbeheer en zichtbaarheid configureren

  • Machtigingsmodellen: Door de opslagplaats overgenomen machtigingen versus gedetailleerde machtigingen (containerregister).
  • Zichtbaarheidsopties: Openbare, persoonlijke en interne (alleen Enterprise)-pakketten.
  • Machtigingen voor containerafbeeldingen: Lees-, schrijf- en beheerdersrollen met onafhankelijke toegangscontrole.
  • Gebruikers- en teamtoegang: Machtigingen verlenen aan personen en teams.
  • Aanbevolen beveiligingsprocedures: Minimale bevoegdheden, regelmatige controles, op team gebaseerde toegang en documentatie.
  • Organisatiestrategieën: Gestandaardiseerde zichtbaarheid, processen voor toegangsaanvragen en afstemming van naleving.

Samenvatting van de belangrijkste concepten

GitHub Packages-integratie

  • Universeel platform: Pakketten bestaan samen met broncode in GitHub.
  • Dezelfde verificatie: Gebruik GitHub-referenties in plaats van afzonderlijke registeraccounts.
  • Werkstroomautomatisering: Pakketten automatisch publiceren met GitHub Actions.
  • Meerdere registers: Ondersteuning voor npm, NuGet, Maven, Docker en meer in één platform.

Beveiliging en toegangsbeheer

  • Gedetailleerde machtigingen: Containerregister ondersteunt onafhankelijk toegangsbeheer.
  • Overgenomen machtigingen voor opslagplaatsen: De meeste pakkettypen volgen toegang tot opslagplaatsen.
  • PAT-verificatie: Beveilig verificatie met behulp van persoonlijke toegangstokens.
  • Openbaar versus privé: Kies zichtbaarheid op basis van beveiligings- en samenwerkingsbehoeften.

Levenscyclusbeheer van pakketten

  • Publiceren: Geautomatiseerd of handmatig publiceren met systeemeigen pakkethulpprogramma's.
  • Versiebeheer: Semantische versiebeheer voor duidelijke wijzigingscommunicatie.
  • Verwijdering: Verouderde of kwetsbare versies verwijderen met veiligheidsbeperkingen.
  • Restauratie: Verwijderde pakketten herstellen binnen het venster van 30 dagen.

Automatiseringsvoordelen

  • CI/CD-integratie: Naadloze integratie met GitHub Actions.
  • GITHUB_TOKEN: Automatische authenticatie in werkstromen zonder PATs.
  • Consistente publicatie: Elke release maakt automatisch een pakket.
  • Kwaliteitspoorten: Voer tests uit voordat u pakketten publiceert.

Volgende stappen

Doorgaan met leren

Verbeter uw GitHub Packages-vaardigheden:

  • Geavanceerde verificatie: Implementeer organisatiebrede verificatiestrategieën.
  • Pakketpromotie: Ontwikkel werkstromen voor het promoten van pakketten via kwaliteitsfasen.
  • Monorepo publiceren: Meerdere pakketten publiceren vanuit één opslagplaats.
  • Beveiligingsscans: Integreer scannen op kwetsbaarheden voor gepubliceerde pakketten.

Geavanceerde scenario's verkennen:

  • Ondersteuning voor meerdere registers: Configureer projecten voor het gebruik van meerdere pakketregisters.
  • Pakketspiegeling: Externe pakketten in De cache opslaan in GitHub Packages.
  • Aangepaste automatisering: Bouw geavanceerde publicatiewerkstromen met GitHub Actions.
  • Pakketanalyse: Houd het gebruik en de acceptatie van uw pakketten bij.

Praktische toepassing

Beginnen met implementeren:

  1. Verificatie configureren: Maak PATs met de juiste toepassingsbereiken voor uw team.
  2. Eerste pakket publiceren: Kies een register en publiceer een testpakket.
  3. Gebruikers configureren: Stel projecten in om pakketten te installeren vanuit GitHub Packages.
  4. Publicatie automatiseren: Maak GitHub Actions-werkstromen voor geautomatiseerde publicatie.
  5. Toegangsbeheer configureren: Zichtbaarheid en machtigingen instellen op basis van beveiligingsbehoeften.
  6. Documentprocedures: Teamrichtlijnen maken voor pakketbeheer.

Integratie met DevOps-procedures

GitHub Packages in DevOps-werkstromen:

  • Continue integratie: Automatisch pakketten bouwen en publiceren bij commits.
  • Continuous Delivery: Gebruik pakketten als artefacten in deployment pipelines.
  • Afhankelijkheidsbeheer: Interne afhankelijkheden centraliseren in GitHub Packages.
  • Versiebeheer: Pakketversies naast codeversies bijhouden.
  • Beveiligingsnaleving: Implementeer toegangsbeheer dat is afgestemd op organisatiebeleid.

Meer informatie

Officiële documentatie

Registerspecifieke handleidingen

Beveiliging en best practices

API en automatisering

Community en ondersteuning

  • Documentatie voor GitHub: Verken uitgebreide handleidingen en zelfstudies.
  • GitHub-community: Stel vragen en krijg antwoorden van de community.
  • GitHub-blog: Blijf op de hoogte met de nieuwste functies en aankondigingen.
  • GitHub Skills: Interactieve leertrajecten voor GitHub-functies.