Samenvatting
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:
- Verificatie configureren: Maak PATs met de juiste toepassingsbereiken voor uw team.
- Eerste pakket publiceren: Kies een register en publiceer een testpakket.
- Gebruikers configureren: Stel projecten in om pakketten te installeren vanuit GitHub Packages.
- Publicatie automatiseren: Maak GitHub Actions-werkstromen voor geautomatiseerde publicatie.
- Toegangsbeheer configureren: Zichtbaarheid en machtigingen instellen op basis van beveiligingsbehoeften.
- 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
- Quickstart voor GitHub Packages - Snel aan de slag met GitHub Packages.
- Meer informatie over GitHub Packages - Uitgebreide handleiding voor Concepten van GitHub Packages.
- Werken met een GitHub Packages-register - Registerspecifieke handleidingen voor alle ondersteunde pakkettypen.
- Informatie over machtigingen voor GitHub Packages - Informatie over machtigingsmodellen en toegangsbeheer.
Registerspecifieke handleidingen
- Werken met het npm-register - Complete npm package management guide.
- Werken met het NuGet-register - Volledige NuGet-pakketbeheerhandleiding.
- Werken met de Container Registry - Beheer van Docker- en OCI-images.
- Werken met het Apache Maven-register - Maven-pakketbeheer.
- Werken met het Gradle-register - Gradle-pakketbeheer.
Beveiliging en best practices
- Het toegangsbeheer en de zichtbaarheid van een pakket configureren : pakketbeveiliging beheren.
- Een pakket verwijderen en herstellen - Levenscyclusbeheer van pakketten.
- Een pakket publiceren : aanbevolen procedures voor het publiceren van pakketten.
- Een pakket installeren - Aanbevolen procedures voor pakketverbruik.
API en automatisering
- GitHub Packages API - REST API voor programmatisch pakketbeheer.
- Voorbeelden van het publiceren van pakketten met GitHub Actions - CI/CD-integratie.
- GitHub Packages gebruiken met GitHub Actions - Geavanceerde werkstroompatronen.
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.